End of Life Ruby 3.1 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →
Logger.new
# File tmp/rubies/ruby-3.1.3/lib/logger.rb, line 380
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
Args
logdev-
The log device. This is a filename (
String),IOobject (typicallySTDOUT,STDERR, or an open file),nil(it writes nothing) orFile::NULL(same asnil). shift_age-
Number of old log files to keep, or frequency of rotation (
daily,weeklyormonthly). Default value is 0, which disables log file rotation. shift_size-
Maximum logfile size in bytes (only applies when
shift_ageis a positiveInteger). Defaults to1048576(1MB). level-
Logging severity threshold. Default values is
Logger::DEBUG. progname-
Program name to include in log messages. Default value is nil.
formatter-
Logging formatter. Default values is an instance of
Logger::Formatter. datetime_format-
Dateand time format. Default value is ‘%Y-%m-%d %H:%M:%S’. binmode-
Use binary mode on the log device. Default value is false.
shift_period_suffix-
The log file suffix format for
daily,weeklyormonthlyrotation. Default is ‘%Y%m%d’.
Description
Create an instance.