    # 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