Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > syslog/loggerライブラリ

library syslog/logger

要約

Logger のようなインターフェイスを用いて syslog にログを記録するた めのサブライブラリです。Syslog::Logger を使って複数のマシンでログ を集約する事もできます。

デフォルトでは、Syslog::Logger はプログラム名として 'ruby' を使用 します。これを変更したい場合は Syslog::Logger.new の第一引数にプ ログラム名を渡してください。

[注意] Syslog::Logger のプログラム名の変更は最初の初期化の時だけ しか行う事ができません。これは Syslog::Logger が syslog を利用す る上での制限です。(これは syslog(3) の制限でもあります)。一度 Syslog::Logger オブジェクトを作成した後はプログラム名を変更しよう としても無視されます。

ローカルマシンの syslogd にログを保存:

require 'syslog/logger'

log = Syslog::Logger.new 'my_program'
log.info 'this line will be logged via syslog(3)'

環境によっては syslog.conf の設定が必要である可能性があります。FreeBSD では、/etc/syslog.conf に以下のような記述が必要です。

!my_program
*.*                                             /var/log/my_program.log

この場合、/var/log/my_program.log に touch して syslogd に HUP シグナル を送信する必要があります。(Free BSD だと killall -HUP syslogd)

自動ロテートや自動圧縮などの細かい設定については、 newsyslog.conf(5) や newsyslog(8) を参照してください。

クラス

Syslog::Logger

Logger のようなインターフェイスを用いて syslog にログを記録するた めのクラスです。

Syslog::Logger::Formatter

Syslog::Logger のデフォルトのログフォーマッタクラスです。

同時にrequireされるライブラリ

logger

ログを記録するためのライブラリです。

syslog

Unix系OS の syslog を扱うライブラリです。