Method: Logger#initialize
- Defined in:
- lib/logger.rb
#initialize(logdev, shift_age = 0, shift_size = 1048576, level: DEBUG, progname: nil, formatter: nil, datetime_format: nil, binmode: false, shift_period_suffix: '%Y%m%d') ⇒ Logger
:call-seq:
Logger.new(logdev, shift_age = 0, shift_size = 1048576, **)
With the single argument logdev, returns a new logger with all default options:
Logger.new('t.log') # => #<Logger:0x000001e685dc6ac8>
Argument logdev must be one of:
-
A string filepath: entries are to be written to the file at that path; if the file at that path exists, new entries are appended.
-
An IO stream (typically $stdout, $stderr. or an open file): entries are to be written to the given stream.
-
nilorFile::NULL: no entries are to be written.
Examples:
Logger.new('t.log')
Logger.new($stdout)
The keyword options are:
-
level: sets the log level; default value is Logger::DEBUG. See Log Level:Logger.new('t.log', level: Logger::ERROR) -
progname: sets the default program name; default isnil. See Program Name:Logger.new('t.log', progname: 'mung') -
formatter: sets the entry formatter; default isnil. See formatter=. -
datetime_format: sets the format for entry timestamp; default isnil. See #datetime_format=. -
binmode: sets whether the logger writes in binary mode; default isfalse. -
shift_period_suffix: sets the format for the filename suffix for periodic log file rotation; default is'%Y%m%d'. See Periodic Rotation.
577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 |
# File 'lib/logger.rb', line 577 def initialize(logdev, shift_age = 0, shift_size = 1048576, level: DEBUG, progname: nil, formatter: nil, datetime_format: nil, binmode: false, shift_period_suffix: '%Y%m%d') self.level = level self.progname = progname @default_formatter = Formatter.new self.datetime_format = datetime_format self.formatter = formatter @logdev = nil if logdev && logdev != File::NULL @logdev = LogDevice.new(logdev, shift_age: shift_age, shift_size: shift_size, shift_period_suffix: shift_period_suffix, binmode: binmode) end end |