syslogの実装は複数あり、etchはsysklogd、lennyではrsyslogdが動いています。
コマンドからsyslogに書き込んでみる
-tオプションでタグを指定、-pでファシリティとプライオリティを指定できます。
logger -t <tag> -p <facility>.<priority> <message>
/var/log/messageに書き込んだメッセージが確認できるはずです。
プライオリティ
ログの重要度に相当するものです。
プライオリティにはこんなものがある模様。括弧書きのやつは非推奨のようです。
- emerg
- (panic)
- alert
- crit
- err
- (error)
- warning
- (warn)
- notice
- info
- debug
ファシリティ
ログの分類に相当するものです。
ファシリティにはこんなものがある模様です。local0 ~ 7 のファシリティがユーザが使えるファシリティになってます。
syslog.confの見方
基本的に
selcectorにはワイルドカードが使用できます。
# いろんなselectorの書き方 local1.* /var/log/debug1 # local1のすべてのプライオリティ *.*;news.none /var/log/debug2 # (news以外の)すべてのファシリティ、すべてのプライオリティ *.debug /var/log/debug3 # プライオリティがdebug以上のもの *.=debug /var/log/debug4 # プライオリティがdebugもののみ *.!=debug /var/log/debug5 # プライオリティがdebug以外のもの # ファイルにロギングする以外のいろんなactionの書き方 local1.* @remotehost.com # remotehost.comにログ転送 local2.* @@remotehost.net # remotehost.netにTCPでログ転送(rsyslog) local3.* * # ログインしているすべてのユーザに通知 local4.* root # rootに通知 local5.* /dev/tty12 # 指定したコンソールに通知 local6.* |/bin/hoge # 指定したコマンドにパイプ