Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > loggerライブラリ > Loggerクラス
class Logger
クラスの継承リスト: Logger < Logger::Severity < Object < Kernel < BasicObject
Abstract
ログを記録するためのクラスです。
特異メソッド
new(logdev, shift_age = 0, shift_size = 1048576) -> Logger
-
Logger オブジェクトを生成する。
- [PARAM] logdev:
- ログを書き込むファイル名か、 IO オブジェクト(STDOUT, STDERR など)を指定します。
- [PARAM] shift_age:
- ログファイルを保持する数か、ログファイルを切り替える頻度を指定します。 頻度には daily, weekly, monthly を文字列で指定することができます。 省略すると、ログの保存先を切り替えません。
- [PARAM] shift_size:
- shift_age を整数で指定した場合のみ有効です。 このサイズでログファイルを切り替えます。
例:
logger = Logger.new(STDERR) logger = Logger.new(STDOUT) logger = Logger.new('logfile.log') file = File.open('foo.log', File::WRONLY | File::APPEND) logger = Logger.new(file, 'daily')
インスタンスメソッド
self << msg -> Integer | nil
-
ログを出力します。
- [PARAM] msg:
- ログに出力するメッセージ。
add(severity, message = nil, progname = nil) -> true
add(severity, message = nil, progname = nil) { ... } -> true
log(severity, message = nil, progname = nil) -> true
log(severity, message = nil, progname = nil) { ... } -> true
-
メッセージをログに記録します。
ブロックを与えた場合はブロックを評価した返り値をメッセージとしてログに記録します。 ユーザがこのメソッドを直接使うことはあまりありません。
- [PARAM] severity:
- 重要度。Logger クラスで定義されている定数を指定します。 この値がレシーバーに設定されているレベルよりも低い場合、 メッセージは記録されません。
- [PARAM] message:
- ログに出力するメッセージを文字列か例外オブジェクトを指定します。 省略すると nil が用いられます。
- [PARAM] progname:
- ログメッセージと一緒に記録するプログラム名を指定します。 省略すると nil が使用されますが、実際には内部で保持されている値が使用されます。
close -> nil
-
ログ出力に使用していた IO オブジェクトを閉じます。
datetime_format -> String
-
ログに記録する時の日付のフォーマットです。
デフォルトでは "%Y-%m-%dT%H:%M:%S.%06d "です。
[SEE_ALSO] Time#strftime, Logger#datetime_format=
datetime_format=(format)
-
ログに記録する時の日付のフォーマットをセットします。
[SEE_ALSO] Time#strftime, Logger#datetime_format
debug(progname = nil) -> true
debug(progname = nil) { ... } -> true
-
重要度がデバッグのメッセージを出力します。
現在の Logger の重要度が DEBUG よりも高い場合、メッセージは出力されません。
ブロックを与えなかった場合は、progname をメッセージとしてログを出力します。
ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。
引数とブロックを同時に与えた場合は、progname をプログラム名、ブロックを評価した をメッセージとしてログを出力します。
- [PARAM] progname:
- ブロックを与えない場合は、メッセージとして文字列または例外オブジェクト指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。
例:
logger.debug "Waiting for input from user" # ... logger.debug { "User typed #{input}" } logger.debug("MainApp") { "Received connection from #{ip}" }
debug? -> bool
-
現在の Logger オブジェクトが DEBUG 以上の重要度のメッセージを記録するなら 真を返します。
error(progname = nil) { ... } -> true
error(progname = nil) -> true
-
ERROR 情報を出力します。
- [PARAM] progname:
- ブロックを与えない場合は、メッセージとして文字列または例外オブジェクト指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。
[SEE_ALSO] Logger#debug
error? -> bool
-
現在の Logger オブジェクトが ERROR 以上の重要度のメッセージを記録するなら 真を返します。
fatal(progname = nil) { ... } -> true
fatal(progname = nil) -> true
-
FATAL 情報を出力します。
- [PARAM] progname:
- ブロックを与えない場合は、メッセージとして文字列または例外オブジェクト指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。
[SEE_ALSO] Logger#debug
fatal? -> bool
-
現在の Logger オブジェクトが FATAL 以上の重要度のメッセージを記録するなら 真を返します。
formatter -> String
-
ログを出力する際のフォーマット文字列を取得します。
formatter=(formatter)
-
ログを出力際のフォーマット文字列をセットします。
info(progname = nil) { ... } -> true
info(progname = nil) -> true
-
INFO 情報を出力します。
- [PARAM] progname:
- ブロックを与えない場合は、メッセージとして文字列または例外オブジェクト指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。
[SEE_ALSO] Logger#debug
info? -> bool
-
現在の Logger オブジェクトが INFO 以上の重要度のメッセージを記録するなら 真を返します。
level -> Integer
sev_threshold -> Integer
-
レシーバにセットされているログレベルを取得します。
level=(level)
sev_threshold=(level)
-
Logger オブジェクトの重要度を設定します。重要度がこれより低いメッセージは 出力されません。
- [PARAM] level:
- 重要度を指定します。
progname -> String
-
ログに出力するプログラム名を取得します。
progname=(name)
-
ログに出力するプログラム名を設定します。
unknown(progname = nil) { ... } -> true
unknown(progname = nil) -> true
-
UNKNOWN 情報を出力します。
- [PARAM] progname:
- ブロックを与えない場合は、メッセージとして文字列または例外オブジェクト指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。
[SEE_ALSO] Logger#debug
warn(progname = nil) { ... } -> true
warn(progname = nil) -> true
-
WARN 情報を出力します。
- [PARAM] progname:
- ブロックを与えない場合は、メッセージとして文字列または例外オブジェクト指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。
[SEE_ALSO] Logger#debug
warn? -> bool
-
現在の Logger オブジェクトが WARN 以上の重要度のメッセージを記録するなら 真を返します。
定数
ProgName -> String
-
ログファイル作成時に使うプログラム名。
SEV_LABEL -> Array
-
重要度のラベルを格納した配列。
VERSION -> String
-
このライブラリのバージョンを表す文字列。