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)
croncron用
daemon各デーモン用
kernカーネル用
lprカーネル用
mailメールサーバ用
newニュースサーバ用
syslogsyslog用
userユーザプロセス用
uucpUUCP転送用
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 ~]$