Linuxには、OSに関する様々な情報やメッセージを収集して、ファイルに出力する仕組みがあります。
これをsyslog(シスログ)といいます。
ユーザーもloggerコマンドを使って、syslogにメッセージを出力することができます。
どのファイルに出力するかは、設定ファイル(RHELでは/etc/rsyslog.conf)で定義します。
標準では、以下のファイルにログが出力されます。
| ファイル名 | 用途 |
| /var/log/messages | 以下に挙げるものを除いたすべてのsyslogメッセージ |
| /var/log/secure | セキュリティーおよび認証に関連するメッセージおよびエラー |
| /var/log/maillog | メールサーバーに関連するメッセージおよびエラー |
| /var/log/cron | 定期的に実行されるタスクに関連するログファイル |
| /var/log/boot.log | システムの起動に関連するログファイル |
loggerコマンドの一般的な使い方は、以下のようになります。
logger -p ファシリティー.プライオリティー -t タグ メッセージ
ファシリティーはカーネルやユーザーレベルなど、どの箇所のメッセージかを表し、プライオリティーはエラーや通知といった重要度を表します。
デフォルトはuser.noticeです。
また、タグは識別用の任意の文字列で、デフォルトはユーザー名です。
ファシリティーとプライオリティーの種類は、以下のようになります。
■ ファシリティー(facility)
| ファシリティー | 内容 |
| kern | カーネルのメッセージ |
| user | ユーザーレベルのメッセージ |
| メールシステムのメッセージ | |
| daemon | システムデーモンのメッセージ |
| auth | セキュリティー/認証のメッセージ |
| syslog | syslogデーモンによって内部的に生成されたメッセージ |
| lpr | プリンターサブシステムのメッセージ |
| news | NetNewsサブシステムのメッセージ |
| cron | cronデーモンのメッセージ |
| authpriv | セキュリティー/認証のメッセージ(authとは別のメッセージ) |
| ftp | ftpデーモンのメッセージ |
| uucp | uucpサブシステムのメッセージ |
| local0 ~ local7 | アプリケーション用の予約 |
■ プライオリティー(priority)
| プライオリティー | 内容 |
| emerg | システム使用不可 |
| alert | 緊急で対応が必要なエラー |
| crit | 致命的なエラー |
| err | 一般的なエラー |
| warning | 警告 |
| notice | 通知 |
| info | 情報 |
| debug | デバッグ |
※ 上の方ほど重大なエラーとなる
実行例
$ logger -p user.err -t ERROR "プログラムでエラーが発生しました"
$ tail -1 /var/log/messages
Mar 17 16:14:33 darjeeling ERROR[15580]: プログラムでエラーが発生しました