singleton method Logger.new

new(logdev, shift_age = 0, shift_size = 1048576, level: Logger::Severity::DEBUG, progname: nil, formatter: Formatter.new, datetime_format: nil, shift_period_suffix: '%Y%m%d') -> Logger[permalink][rdoc][edit]

Logger オブジェクトを生成します。

[PARAM] logdev:
ログを書き込むファイル名か、 IO オブジェクト(STDOUT, STDERR など)を指定します。
[PARAM] shift_age:
ログファイルを保持する数か、ログファイルを切り替える頻度を指定します。頻度には daily, weekly, monthly を文字列で指定することができます。省略すると、ログの保存先を切り替えません。
[PARAM] shift_size:
shift_age を整数で指定した場合のみ有効です。このサイズでログファイルを切り替えます。
[PARAM] level:
ログに記録する時のログレベルを指定します。省略した場合は Logger::Severity::DEBUG です。
[PARAM] progname:
ログに記録する時のプログラム名を指定します。省略した場合は nil です。
[PARAM] formatter:
ログに記録する時のログのフォーマッタを指定します。省略した場合は Logger::Formatter インスタンスです。
[PARAM] datetime_format:
ログに記録する時の日時のフォーマットを指定します。省略した場合は '%Y-%m-%d %H:%M:%S' です。
[PARAM] shift_period_suffix:
daily、weekly、monthlyでログファイルの切り替えを行う時のログファイルの名の末尾に追加する文字列のフォーマットを指定します。省略した場合は '%Y%m%d' です。


require 'logger'
logger = Logger.new(STDERR)
logger = Logger.new(STDOUT)
logger = Logger.new('logfile.log')

file = File.open('foo.log', File::WRONLY | File::APPEND | File::CREAT)
logger = Logger.new(file, 'daily')
logger = Logger.new(file, level: :info)
logger = Logger.new(file, progname: 'progname')
logger = Logger.new(file, formatter: formatter)
logger = Logger.new(file, datetime_format: '%Y-%m-%d %H:%M:%S')