UNIXのsyslogのラッパーモジュール。
require 'syslog' Syslog.open("syslogtest") Syslog.log(Syslog::LOG_WARNING, "the sky is falling in %d seconds!", 100) Syslog.close
Syslog.open(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER)
Syslog.open(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) { |syslog| ... }
与えられた引数でsyslogを開く。以降、他の Syslog モジュール関数が使 用可能となる。
ブロック付きで呼ばれた場合は、self を引数としてブロックを実行し、 最後に Syslog.close を行う。
syslogを既に開いていた場合はRuntimeErrorが発生する。
ident
はすべてのログにつく識別子で、どのプログラムから送られ
たログなのかを識別するために使われる。通常プログラム名が使われる。
options
には、Syslog.open や Syslog.log の動作を制御するフラ
グを指定する。
facility には、ログ出力を行うプログラムの種別を指定する。 syslog はこの値にしたがって出力先となるログファイルを決める。 (syslog.conf(5) 参照)
options
と facility
に指定できる値については
Syslog::Constants を参照。
例: Syslog.open('ftpd', Syslog::LOG_PID | Syslog::LOG_NDELAY, Syslog::LOG_FTP)
self
を返す。
syslog の詳細については syslog(3) を参照。
Syslog.open!(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) { |syslog| ... }
Syslog.reopen(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) { |syslog| ... }
開いていた syslog を最初にクローズする点を除いて Syslog.open と同じ。
Syslog.opened?
syslog をオープンしていれば真を返す。
Syslog.ident
Syslog.options
Syslog.facility
最後のopenで与えられた対応する引数を返す。
Syslog.log(priority, format, ...)
syslogにメッセージを書き込む。
priority は優先度を示す定数(Syslog::Constants参照)。 また、facility(Syslog::Constants参照)を論理和で指定す ることで open で指定した facility を切替えることもできる。
format 以降は sprintf と同じ形式の引数を指定する。 メッセージに改行を含める必要はない。
例: Syslog.log(Syslog::LOG_CRIT, "the sky is falling in %d seconds!", 10)
注: syslog(3) のように format に %m は使用できない。
Syslog.emerg(message, ...)
Syslog.alert(message, ...)
Syslog.crit(message, ...)
Syslog.err(message, ...)
Syslog.warning(message, ...)
Syslog.notice(message, ...)
Syslog.info(message, ...)
Syslog.debug(message, ...)
Syslog#log()
のショートカットメソッド。
システムによっては定義されていないものもある。
例: Syslog.crit("the sky is falling in %d seconds!",5)
Syslog.mask
Syslog.mask=(mask)
ログの優先度のマスクを取得または設定する。
マスクは永続的であり、
Syslog::open
やSyslog.close
ではリセットされない。
例: Syslog.mask = Syslog::LOG_UPTO(Syslog::LOG_ERR)
Syslog.close
syslogを閉じる。
Syslog.instance
selfを返す。(旧版との互換性のため)
Syslog.LOG_MASK(priority)
1つの優先度に対するマスクを作成する。
Syslog.LOG_UPTO(priority)
priority
までのすべての優先度のマスクを作成する。