Linuxコマンド辞典 loggerコマンド(システム管理)
syslogに書き込む「logger」コマンドの概要と使い方を記載しています。
RHEL Fedora CentOS Vine Deblan Ubuntu Plamo
参考サイト:Man page of INSTALL
概要・使用方法
書式
$ logger [オプション] [メッセージ・・・]syslog、journaldにログを書き出します。テキストファイルの中身をそのままsyslogに書き出したり、プライオリティを指定し、ログに書き出すことで可能です。(syslogの設定による)。ログのプライオリティによって、「/etc/syslog.conf」で書き出すログファイルが変わってきます。プライオリティは「ファシリティ.重要度」から構成され、これらには以下のような種類があります。
ファシリティの種類
| ファシリティログ | 内容 |
|---|---|
| auth | 認証用(login、su) |
| authpriv | 認証用(login、su) |
| cron | cron用 |
| daemon | 各デーモン用 |
| kern | カーネル用 |
| lpr | カーネル用 |
| メールサーバ用 | |
| new | ニュースサーバ用 |
| syslog | syslog用 |
| user | ユーザプロセス用 |
| uucp | UUCP転送用 |
| ftpFTP | サービス |
| syslogsyslog | 機能 |
| local 0~7 | 独自の設定、アプリケーション用 |
プライオリティの種類
| プライオリティ | 用途 |
|---|---|
| debug | デバッグ |
| info | 情報 |
| notice | 通知 |
| warning.warn | 警告 |
| error、err | エラー |
| crit | 致命的エラー |
| alert | 要緊急用対応 |
| emerg、panic | 危険 |
メッセージを指定した場合、「/var/log/syslog(Debian/Ubuntu)」か、「/var/log/messages(CentOS/Fedora)」にメッセージを出力します。メッセージを指定しない場合は標準入力からの入力待ちになります。
オプション
| -i –id | ログにloggerのプロセスIDを出力する |
| -s –stderr | ログに出力して標準出力にも出力する |
| -f ファイル名 –file ファイル名 | 指定したファイルの内容をログに出力する |
| -p プライオリティ –priority | 指定したプライオリティでログに出力する |
| -t タグ –tag タグ | ログに指定したタグを出力する |
| -u ソケット –socket ソケット | syslogの代わりにソケットに出力する |
| -n サーバ名 –server サーバ名 | シスログサーバにメッセージを送信する。プロトコルに指定がない場合はUDPが利用される。 |
| -T –tcp | TCPを利用する。ポートの指定が無ければ601を利用する |
| -d –udp | UDPを利用する。ポートの指定が無ければ512を利用する |
syslogに書き込む
$ syslog メッセージ
$ syslog "メッセージ" #単語と単語に空白が入る場合実行結果
[sunarin@sunarin ~]$ logger "test message!"
[sunarin@sunarin ~]$ sudo tail /var/log/messages
Oct 27 10:05:57 sunarin sunarin[296263]: test message!
[sunarin@sunarin ~]$
タグを指定してsyslogに書き込む
$ syslog -t タグ メッセージ実行結果
[sunarin@sunarin ~]$ sudo tail /var/log/messages
Oct 27 10:07:59 sunarin MYTAB[296290]: test
[sunarin@sunarin ~]$ 指定したプライオリティにログを送信する
$ syslog -p ファシリティ.プライオリティ メッセージ実行結果
[sunarin@sunarin ~]$ logger -p "syslog.info" "syslog info message"
[sunarin@sunarin ~]$ sudo tail /var/log/messages
Oct 27 10:17:15 sunarin sunarin[296455]: syslog info message
[sunarin@sunarin ~]$ テキストファイルをログに流し込む
$ syslog -t "EOL" -f テキストファイル実行結果
[sunarin@sunarin ~]$ logger -t "EOL" -f ./msg.txt
[sunarin@sunarin ~]$ sudo tail /var/log/messages
Oct 27 10:19:10 sunarin EOL[296476]: textfile test message
[sunarin@sunarin ~]$