Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library logger
library logger
要約
ログを記録するためのライブラリです。
使い方
5段階の重要度に分けてログを記録します。
- FATAL
-
プログラムをクラッシュさせるような制御不可能なエラー
- ERROR
-
エラー
- WARN
-
警告
- INFO
-
一般的な情報
- DEBUG
-
低レベルの情報
全てのメッセージは必ず重要度を持ちます。また Logger オブジェクトも同じように 重要度を持ちます。メッセージの重要度が Logger オブジェクトの重要度よりも 低い場合メッセージは記録されません。
普段は INFO しか記録していないが、デバッグ情報が必要になった時には、 Logger オブジェクトの重要度を DEBUG に下げるなどという使い方をします。
例:
require 'logger' log = Logger.new(STDOUT) log.level = Logger::WARN log.debug("Created logger") log.info("Program started") log.warn("Nothing to do!")
上の例ではログには WARN のみが記録されます。下が出力例です。
W, [2005-02-10T20:03:56.489954 #12469] WARN -- : Nothing to do!
例外オブジェクトも記録するメッセージとして使えます。
例:
require 'logger' log = Logger.new(STDOUT) log.level = Logger::ERROR begin File.each_line(path) do |line| unless line =~ /^(\w+) = (.*)$/ log.error("Line in wrong format: #{line}") end end rescue => err log.fatal("Caught exception; exiting") log.fatal(err) end
参考
- Rubyist Magazine
- 標準添付ライブラリ紹介【第 2 回】
クラスとモジュール
class Logger | ログを記録するためのクラスです。 |
class Logger::Application | ユーザ定義のアプリケーションにログ機能を簡単に追加することができます。 |
class Logger::Formatter | ロガーのフォーマット文字列を扱うクラス。 |
class Logger::LogDevice | Logger の内部で使用するログの出力先を表すクラスです。 |
class Logger::LogDevice::LogDeviceMutex | ログの出力先ファイルを同期するためのクラスです。 |
module Logger::Severity | logger で使用する重要度を定義したモジュール。 |
例外クラス
class Logger::Error | このライブラリで使用する例外です。 |
class Logger::ShiftingError | ログファイルの切り替えに失敗した場合に発生する例外です。 |