# File lib/needle/logger.rb, line 104
    def message_format=( format )
      @message_format = format
      return unless format

      @needs_caller_info = false

      format_string = ""
      format_parameters = []

      @message_format_tokens = []
      format.scan( SPECIFIER_PATTERN ) do |v|
        format_string << v[0] if v[0].length > 0
        opts = SPECIFIER_OPTIONS[ v[2] ]
        format_string << "%#{v[1]}#{opts[:type]}"
        format_parameters << opts[:value]
        @needs_caller_info = true if v[2] =~ /[FlLM]/
      end
      format_string << $' if $'.length > 0
      format_string << "\n"

      definition =
        "proc { |opts| #{format_string.inspect} " +
        "% [ #{format_parameters.join(',')} ] }"
      @message_formatter = eval( definition )
    end