指定が任意の引き数 message が存在すれば、それがログに書き込まれる。引き数 message が存在せず、-f オプションも指定されていない場合は、標準入力がログに記録される。
接続先の指定については、--server や --socket もご覧いただきたい。
なお、システムのロギングを下支えしているものが (たとえば、 /dev/log をリッスンしている systemd が)、ローカルソケットの資格情報 (credentials) に従って、メッセージ中の指定された PID を上書きしてしまうことがあるのに注意していただきたい。logger は、そうしたソケットの資格情報の値を、指定された id にすることができるわけだが、それは、ユーザがルート権限を持ち、しかも指定された PID を持つプロセスが存在するときだけであって、 さもなければ、ソケットの資格情報は変更されず、その問題は暗黙裡に無視されるのである。
logger --journald <<end
MESSAGE_ID=67feb6ffbaf24c5cbec13c008dd72309
MESSAGE=The dogs bark, but the caravan goes on.
DOGS=bark
CARAVAN=goes on
end
logger --journald=entry.txt
MESSAGE に改行を入れるには (訳注: 言い換えれば、複数行にするには)、MESSAGE を複数回指定する。これは、特例処理であり、複数回現れるのが他のフィールドの場合は、配列として journal に格納されることになる。
ファシリティやレベルの数値による表現については、 「ファシリティとレベル」セクションをご覧いただきたい。
なお、手元で試してみたところでは、この --priority オプションでは、レベルを数値で指定することはできるが、 ファシリティを数値で指定することはできないようだ。 数値をそのまま使うのも、--prio-prefix のように 8 倍してレベルを足すのも、うまく行かなかった。
接頭辞がファシリティを含んでいない場合、ファシリティは、-p オプションで指定したものがデフォルトである。 同様に、接頭辞が全く指定されていない場合、その行は、-p で指定された優先度 priority を使ってログに記録される。
このオプションは、コマンドライン引き数として指定したメッセージに対しては働かない。
notq という値は、送信するメッセージに時間品質構造化データ (the time-quality structured data) を記入しないようにする。 この時間品質情報が示すのは、ローカルクロックが (訳注: 信用できる外部の時刻サーバとメッセージ送信時に) 同期されていたかどうか、及び、タイムスタンプが (訳注: 同期と同期の間に) ずれるかもしれない最大のマイクロセコンド数である。 時間品質は、--sd-id timeQuality が指定された場合にも自動的に抑制される。
notime という値は (暗黙裡に notq も設定する)、ISO-8601 フォーマットの省略なしの送信側タイムスタンプを記入しないようにする。 マイクロセコンドやタイムゾーンを含むフォーマットのことである。
nohost という値は、メッセージのヘッダに gethostname(2) の情報を入れないようにする。
現在 logger が (訳注: --rfc5424 オプションを指定したときにデフォルトで) 生成するのは、標準要素 timeQuality のみである。RFC 5424 には、そのほか origin 要素 と meta 要素が記述されている (前者には、ip, enterpriseId, software, swVersion といったパラメータが、後者には、sequenceId, sysUpTime, language といったパラメータがある)。こうした要素 ID は、@digits という接尾辞なしで指定することができる。
logger --rfc5424 --sd-id zoo@123 \
--sd-param tiger=\"hungry\" \
--sd-param zebra=\"running\" \
--sd-id manager@123 \
--sd-param onMeeting=\"yes\" \
"this is message"
どんなタイプの syslog プロトコルを使っていようと、たいていの受信側が 1 KiB より大きいメッセージを受け入れる。従って、この --size オプションが (--rfc5424 を使用した場合だけではなく) あらゆる場合に logger に対して働くことになる。
注意: メッセージサイズの上限というのは、syslog のヘッダを含む、メッセージサイズ全体の上限である。 ヘッダのサイズは、選択したオプションやホスト名の長さによって変わってくる。 大雑把に言って、ヘッダが 50 から 80 文字 (characters) より長いことはあまりない。メッセージの最大ザイズを選択するときは、 受信側の方でもその最大サイズをサポートするようにしておくことが重要である。 さもないと、メッセージは、尻尾がちょん切られてしまうかもしれない。 もう一度大雑把に言うと、2 から 4 KiB のメッセージサイズなら、たいてい問題がないはずだ。 それより大きい場合は、ちゃんと動作するか確認するべきである。
デフォルトの mode は、auto である。エラー表示が有効ではないと、メッセージの消失があっても、通知されず、logger の実行は、成功のステータスで終わることになる。
接続先の指定については、--server や --socket もご覧いただきたい。
有効なファシリティ名 (メッセージの分類):
| auth(4) | |
| authpriv(10) | 取り扱いに注意を要するセキュリティ情報用 |
| cron(9) | |
| daemon(3) | |
| ftp(11) | |
| kern(0) | ユーザスペースのプロセスからは生成できない。たとえ kern を指定しても、自動的に user に変更される |
| lpr(6) | |
| mail(2) | |
| news(7) | |
| syslog(5) | |
| user(1) | |
| uucp(8) | |
| local0(16) | |
| to | |
| local7(23) | |
| security | auth の同義語で、非推奨 |
有効なレベル名 (重大度):
| emerg(0) | |
| alert(1) | |
| crit(2) | |
| err(3) | |
| warning(4) | |
| notice(5) | |
| info(6) | |
| debug(7) | |
| panic | emerg の同義語で、非推奨 |
| error | err の同義語で、非推奨 |
| warn | warning の同義語で、非推奨 |
こうしたファシリティやレベルの優先順位や目的については、syslog(3) を参照していただきたい。
Karel Zac <kzak@redhat.com>
Rainer Gerhards <rgerhards@adiscon.com>
Sami Kerola <kerolasa@iki.fi>
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]