class Log4r::PatternFormatter
See log4r/formatter/patternformatter.rb
Constants
- DirectiveRegexp
Matches the first directive encountered and the stuff around it.
-
$1 is the stuff before directive or “” if not applicable
-
$2 is the directive group or nil if there’s none
-
$3 is the %#.# match within directive group
-
$4 is the .# match which we don’t use (it’s there to match properly)
-
$5 is the directive letter
-
$6 is the stuff after the directive or “” if not applicable
-
$7 is the remainder
-
- DirectiveTable
Arguments to sprintf keyed to directive letters
%c - event short name
%C - event fullname
%d - date
%g - Global Diagnostic Context (GDC
)
%t - trace
%m - message
%h - thread name
%p - process ID aka PID
%M - formatted message
%l - Level in string form
%x - Nested Diagnostic Context (NDC
)
%X - Mapped Diagnostic Context (MDC
), syntax is “%X{key}”
%% - Insert a %- ISO8601
default date format
Attributes
Public Class Methods
Accepts the following hash arguments (either a string or a symbol):
pattern
-
A pattern format string.
date_pattern
-
A Time#strftime format string. See the Ruby Time class for details.
date_method
-
As an option to
date_pattern
, specify which Time.now method to call. For example,usec
orto_s
. Specify it as a String or Symbol.
The default date format is ISO8601
, which looks like this:
yyyy-mm-dd hh:mm:ss => 2001-01-12 13:15:50
Log4r::BasicFormatter::new
# File lib/log4r/formatter/patternformatter.rb, line 79 def initialize(hash={}) super(hash) @pattern = (hash['pattern'] or hash[:pattern] or nil) @date_pattern = (hash['date_pattern'] or hash[:date_pattern] or nil) @date_method = (hash['date_method'] or hash[:date_method] or nil) @date_pattern = ISO8601 if @date_pattern.nil? and @date_method.nil? PatternFormatter.create_format_methods(self) end