Class Yell::Formatter
In: lib/yell/formatter.rb
Parent: Object

The Formatter provides a handle to configure your log message style.

Methods

inspect   new  

Classes and Modules

Class Yell::Formatter::Builder
Class Yell::Formatter::Modifier

Constants

Table = { "m" => "message(event.messages)", # Message "l" => "level(event.level, 1)", # Level (short), e.g.'I', 'W' "L" => "level(event.level)", # Level, e.g. 'INFO', 'WARN' "d" => "date(event.time)", # ISO8601 Timestamp "h" => "event.hostname", # Hostname "p" => "event.pid", # PID "P" => "event.progname", # Progname "t" => "event.thread_id", # Thread ID "F" => "event.file", # Path with filename where the logger was called "f" => "File.basename(event.file)", # Filename where the loger was called "M" => "event.method", # Method name where the logger was called "n" => "event.line", # Line where the logger was called "N" => "event.name"
LegacyTable = Hash[ Table.keys.map { |k| [k, 'noop'] } ].merge( 'm' => 'message(msg)', 'l' => 'level(event, 1)', 'L' => 'level(event)', 'd' => 'date(time)', "p" => "$$", 'P' => 'progname'   For standard formatted backwards compatibility
PatternMatcher = /([^%]*)(%\d*)?(#{Table.keys.join('|')})?(.*)/m

Attributes

date_pattern  [R] 
pattern  [R] 

Public Class methods

Initializes a new +Yell::Formatter+.

Upon initialization it defines a format method. `format` takes a {Yell::Event} instance as agument in order to apply for desired log message formatting.

@example Blank formatter

  Formatter.new

@example Formatter with a message pattern

  Formatter.new("%d [%5L] %p : %m")

@example Formatter with a message and date pattern

  Formatter.new("%d [%5L] %p : %m", "%D %H:%M:%S.%L")

@example Formatter with a message modifier

  Formatter.new do |f|
    f.modify(Hash) { |h| "Hash: #{h.inspect}" }
  end

Public Instance methods

Get a pretty string

[Validate]