class SysLogger
Constants
- SEVERITY_MAP
- VERSION
Attributes
Public Class Methods
ロガーインスタンスを生成します
引数¶ ↑
progname: ログに出力するプログラム名 facility: ファシリティ level : ログレベル(SysLogger::DEBUG, SysLogger::INFO, SysLogger::WARN, SysLogger::ERROR, SysLogger::FATAL, SysLogger::UNKNOWN)
# File lib/sys_logger.rb, line 38 def initialize(progname = nil, facility = nil, level = SysLogger::DEBUG) @progname, @facility, @level = progname, facility, level Syslog.open unless Syslog.opened? end
Public Instance Methods
メッセージをログに記録します。 ブロックを与えた場合はブロックを評価した返り値をメッセージとしてログに記録します。 ユーザがこのメソッドを直接使うことはあまりありません。
引数¶ ↑
severity: ログレベル。SysLogger クラスで定義されている定数を指定します。 この値がレシーバーに設定されているレベルよりも低い場合、 メッセージは記録されません。 message: ログに出力するメッセージを文字列か例外オブジェクトを指定します。 省略すると nil が用いられます。 progname: ログメッセージと一緒に記録するプログラム名を指定します。 省略すると nil が使用されますが、実際には内部で保持されている値が使用されます。
戻り値¶ ↑
true
# File lib/sys_logger.rb, line 68 def add(severity, message = nil, progname = nil) severity ||= UNKNOWN return true if severity < level progname ||= @progname if message.nil? if block_given? message = yield else message = progname progname = @progname end end priority = SEVERITY_MAP[severity] priority |= facility if @facility progname = progname.to_s if progname.empty? Syslog.log(priority, '%s', message.to_s) else Syslog.log(priority, '%s: %s', progname, message.to_s) end true end
DEBUG 情報を出力します。
詳細¶ ↑
ブロックを与えなかった場合は、progname をメッセージとしてログを出力します。 ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。 引数とブロックを同時に与えた場合は、progname をプログラム名、ブロックを評価した 結果をメッセージとしてログを出力します。
引数¶ ↑
progname: ブロックを与えない場合は、メッセージとして文字列または例外オブジェクトを指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。
# File lib/sys_logger.rb, line 112 def debug(progname = nil, &block) ; add(DEBUG , nil, progname, &block);end
現在の Logger オブジェクトが DEBUG 以上のログレベルのメッセージを記録するなら 真を返します。
# File lib/sys_logger.rb, line 93 def debug?; @level <= DEBUG; end
ERROR 情報を出力します。
詳細¶ ↑
ブロックを与えなかった場合は、progname をメッセージとしてログを出力します。 ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。 引数とブロックを同時に与えた場合は、progname をプログラム名、ブロックを評価した 結果をメッセージとしてログを出力します。
引数¶ ↑
progname: ブロックを与えない場合は、メッセージとして文字列または例外オブジェクトを指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。
# File lib/sys_logger.rb, line 145 def error(progname = nil, &block) ; add(ERROR , nil, progname, &block);end
現在の Logger オブジェクトが ERROR 以上のログレベルのメッセージを記録するなら 真を返します。
# File lib/sys_logger.rb, line 99 def error?; @level <= ERROR; end
FATAL 情報を出力します。
詳細¶ ↑
ブロックを与えなかった場合は、progname をメッセージとしてログを出力します。 ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。 引数とブロックを同時に与えた場合は、progname をプログラム名、ブロックを評価した 結果をメッセージとしてログを出力します。
引数¶ ↑
progname: ブロックを与えない場合は、メッセージとして文字列または例外オブジェクトを指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。
# File lib/sys_logger.rb, line 156 def fatal(progname = nil, &block) ; add(FATAL , nil, progname, &block);end
現在の Logger オブジェクトが FATAL 以上のログレベルのメッセージを記録するなら 真を返します。
# File lib/sys_logger.rb, line 101 def fatal?; @level <= FATAL; end
INFO 情報を出力します。
詳細¶ ↑
ブロックを与えなかった場合は、progname をメッセージとしてログを出力します。 ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。 引数とブロックを同時に与えた場合は、progname をプログラム名、ブロックを評価した 結果をメッセージとしてログを出力します。
引数¶ ↑
progname: ブロックを与えない場合は、メッセージとして文字列または例外オブジェクトを指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。
# File lib/sys_logger.rb, line 123 def info(progname = nil, &block) ; add(INFO , nil, progname, &block);end
現在の Logger オブジェクトが INFO 以上のログレベルのメッセージを記録するなら 真を返します。
# File lib/sys_logger.rb, line 95 def info?; @level <= INFO ; end
UNKNOWN 情報を出力します。
詳細¶ ↑
ブロックを与えなかった場合は、progname をメッセージとしてログを出力します。 ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。 引数とブロックを同時に与えた場合は、progname をプログラム名、ブロックを評価した 結果をメッセージとしてログを出力します。
引数¶ ↑
progname: ブロックを与えない場合は、メッセージとして文字列または例外オブジェクトを指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。
# File lib/sys_logger.rb, line 167 def unknown(progname = nil, &block); add(UNKNOWN, nil, progname, &block);end
WARN 情報を出力します。
詳細¶ ↑
ブロックを与えなかった場合は、progname をメッセージとしてログを出力します。 ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。 引数とブロックを同時に与えた場合は、progname をプログラム名、ブロックを評価した 結果をメッセージとしてログを出力します。
引数¶ ↑
progname: ブロックを与えない場合は、メッセージとして文字列または例外オブジェクトを指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。
# File lib/sys_logger.rb, line 134 def warn(progname = nil, &block) ; add(WARN , nil, progname, &block);end
現在の Logger オブジェクトが WARN 以上のログレベルのメッセージを記録するなら 真を返します。
# File lib/sys_logger.rb, line 97 def warn?; @level <= WARN ; end