日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、全翻訳済み)
6.4-STABLE-K, 7.2-STABLE-K, 8.0-STABLE-K は現在、 作成中で日々更新されています。 最新の snapshots を元に作成しています。
SYSLOG.CONF(5) FreeBSD ファイルフォーマットマニュアル SYSLOG.CONF(5)
名称
syslog.conf - syslogd(8) 設定ファイル
解説
syslog.conf ファイルは syslogd(8) プログラムの設定ファイルです。このファ
イルは program と hostname の指定によって分けられた行ブロックから構成され
ています (分離は、その行の後の方で生じます)。それぞれの行は 2つのフィール
ドを含みます。その行が適用されるメッセージのタイプと優先度を指定する
selector フィールドと、 syslogd が選んだ基準とマッチしたメッセージを受け
とった場合の動作を指定する action フィールドです。 selector フィールドと
action フィールドは 1 つ以上のタブ文字または空白で区切られています。
区切りに空白を使用すると、 syslog.conf は他の Unix や Unix 的システムと互
換性が無くなってしまうことに注意してください。この機能は、設定を容易にし
(例えば syslog.conf にカットアンドペーストできるようにし)、その際発生し得
るミスを避けるため追加されました。しかしながらこの変更は、古いスタイルの
syslog.conf (すなわちタブ文字のみ) へのバックワードコンパチビリティを保っ
ています。
selector は、 facility とピリオド (``.'') とオプションの比較フラグ ([!]
[<=>]) そして level で符号化され、間に空白は含みません。 facility と
level の双方とも、大文字小文字の区別はありません。
facility はメッセージを生成したのがシステムのどの部分なのかを表します。こ
れは、次にあげるキーワード群の 1 つで表されます : auth, authpriv, con
sole, cron, daemon, ftp, kern, lpr, mail, mark, news, ntp, security, sys
log, user, uucp と local0 から local7。これらのキーワード (mark を除く)
は openlog(3) と syslog(3) ライブラリルーチンで指定される ``LOG_'' で始ま
る値と一致します。 比較フラグを使用して、何を記録するのかを正確に指定でき
ます。デフォルトの比較は ``=>'' (またはあなたが好むのなら ``>='') であ
り、指定した facility リストからの level 以上のレベルのメッセージを記録す
ることを意味します。 ``!'' で開始する比較フラグは、その論理的意味を反転さ
せます。 ``!=info'' は、info 以外の全レベルを意味し、 ``!notice'' は
``<notice'' と同じ意味です。
level はメッセージの重要度を表し、以下のキーワードの順に高から低になりま
す: emerg, alert, crit, err, warning, notice, info, debug。これらのキー
ワードは syslog(3) ライブラリルーチンで指定される ``LOG_'' で始まる値と一
致します。
それぞれの行ブロックは program か hostname の指定によって前のブロックと区
別されます。ブロックは、最新の program 指定および hostname 指定に対応する
メッセージのみをログします。よって、 `ppp' を program として選択するブ
ロックに、 hostname `dialhost' からのメッセージを選択するブロックが直後に
続くと、第 2 のブロックは、dialhost 上の ppp(8) プログラムからのメッセー
ジのみをログします。
program 指定は、行の先頭が #!prog または !prog (前者は以前の syslogd との
互換性のためのものです。例えば syslog.conf ファイルを共有したい時などに便
利です) で始まり、引き続くブロックは syslog を呼び出す特定のプログラムと
関連付けられています。 program 指定 `foo' は、 `foo: ' というプレフィック
スを持つカーネルログメッセージにもマッチします。 `#!+prog' または
`!+prog' の指定は、前述のものと正に同じ動作をします。 `#!-prog' または
`!-prog' の指定は、指定したプログラム以外からのメッセージにマッチします。
複数のプログラムをコンマで区切って列挙可能です。 `!prog1,prog2' はどちら
のプログラムからのメッセージにもマッチし、 `!-prog1,prog2' は `prog1' と
`prog2' 以外からのすべてのメッセージにマッチします。
hostname 指定で `#+hostname' または `+hostname' という書式のものは、これ
に引き続くブロックを、指定したホスト名からのメッセージに適用させます。ま
た、 hostname 指定で `#-hostname' または `-hostname' という指定のものは、
これに引き続くブロックを、指定したホスト名以外からのメッセージに適用させ
ます。ホスト名が `@' として与えられると、ローカルホスト名が使用されます。
プログラムの指定と同様、コンマで区切った複数の値をホスト名の指定として使
用可能です。
program 指定または hostname 指定は、プログラム名またはホスト名に `*' を指
定することによりリセット可能です。
facility と level の両方のキーワードとその意味のより詳細な説明を知りたい
場合は syslog(3) を見てください。選択は facility で行なう方が program で
行なうよりも好まれています。なぜなら、後者はネットワーク環境の中では簡単
に変化してしまう場合があるからです。しかし、適切な facility が本当に存在
しない場合もあります。
もし facility 指定に一致したメッセージを受けとり、なおかつそれが指定した
level (もしくはそれ以上の level) だった場合、またはメッセージ中の日付の後
ろの最初の単語が program と一致した場合、 action フィールドで指定された動
作が選択されます。
複数の selector を、セミコロン (``;'') によって区切ることにより、1 つの
action に対して指定することができます。しかしそれぞれの selector はその前
にある指定を上書き修正できてしまいますので注意してください。
複数の facility は、コンマ (``,'') によって区切ることにより 1 つの level
を指定することができます。
アスタリスク (``*'') は、全ての facility 、全ての levels 、または全ての
programs を指定するのに使用できます。
特別な facility である ``mark'' は、20分毎に ``info'' の優先度を持つメッ
セージを受け取ります ( syslogd(8) を参照 )。これはアスタリスクを含む
facility フィールドには適用されません。
特別な level である ``none'' は、特定の facility を無効にします。
それぞれの行の action フィールドは、 selector フィールドに指定されたメッ
セージを受け取った際の動作を指定します。動作指定には次の 5つの形式があり
ます:
+o パス名 (先頭がスラッシュで始まります)。該当するメッセージは、そのファ
イルに追加されます。
+o ホスト名 ( ``@'' 文字から始まる必要があります)。該当するメッセージ
は、指定されたホストの syslogd(8) プログラムに転送されます。
+o コンマで区切られたユーザのリスト。該当するメッセージは、指定された
ユーザがログインしていれば、そのユーザの画面に出力されます。
+o 1 つのアスタリスク。該当するメッセージは、ログイン中の全てのユーザの
画面に出力されます。
+o 垂直バー (``|'') とそれに続くコマンド。該当したメッセージをパイプを
使ってコマンドに渡すことができます。このコマンドは、 sh(1) によって評
価されるので、通常のシェルメタキャラクタや入力/出力リダイレクトを利用
できます。 (しかし実行されたコマンドからの stdio(3) バッファされた出
力のリダイレクトは余計な遅延を引き起こしたり、あるいはシグナルによっ
てロギング中のサブプロセスが終了した場合など出力データを失うことがあ
るかもしれないことに注意してください) コマンドそれ自身は stdout と
stderr を /dev/null にリダイレクトして動作します。 SIGHUP を受け取る
と、 syslogd(8) はそのプロセスとのパイプを閉じます。もしそのプロセス
が自発的に終了しない場合は、60秒の猶予期間の後 SIGTERM を送ります。
コマンドはパイプ経由で送るべきデータが到着した際に 1 度だけ起動されま
す。その後、コマンドが終了した場合には必要に応じて再起動されます。そ
のため、1 行の入力だけをサブプロセスに引き渡すことが望ましいのなら
ば、 (もし多くのメッセージが速く流れる場合には、資源を大量に消費する
可能性がありますが) 1 行の入力があった後に終了する事によって達成する
事ができます。必要ならば、この効果を得るためにラッパスクリプトを書く
こともできます。
そのコマンドが完全なパイプラインでない場合、コマンドを exec で起動す
ると、起動したシェルプロセスがコマンドの完了を待たなくなるので便利か
もしれません。警告: このプロセスは syslogd(8) の UID のもとで動きま
す。通常はスーパユーザです。
空行、および、最初の空白でない文字がハッシュ (``#'') 文字である行は無視さ
れます。
使用例
設定ファイルは次のようになります:
# err レベル以上の全てのメッセージ、全てのレベルの kernel メッセージ、
# notice レベルの auth メッセージをコンソールに出力します。
# プライベートな認証メッセージは記録をとりません!
*.err;kern.*;auth.notice;authpriv.none /dev/console
# info 以上のレベルを持つ (mail を除く) 全てのメッセージを記録します。
# プライベートな認証メッセージは記録をとりません!
*.info;mail.none;authpriv.none /var/log/messages
# debug レベルのみの daemon メッセージを記録します
daemon.=debug /var/log/daemon.debug
# authpriv ファイルはアクセス制限を持ちます。
authpriv.* /var/log/secure
# 全てのレベルの mail メッセージを一箇所にまとめて記録します。
mail.* /var/log/maillog
# emerg (非常事態) レベルの全てのメッセージは全員が受け取ります。
*.emerg *
*.emerg @arpa.berkeley.edu
# alert レベル以上のメッセージを root と eric の画面に表示されます。
*.alert root,eric
# err レベル以上の mail と news の エラーを特別なファイルに保存します。
mail;news.err /var/log/spoolerr
# 全てのレベルの認証メッセージをフィルタにパイプします。
auth.* |exec /usr/local/sbin/authfilter
# ftpd のトランザクションを mail と news にあわせて保存します。
!ftpd
*.* /var/log/spoolerr
# セキュリティメッセージを別のファイルに保存します。
security.* /var/log/security
# /dev/console への書き込みを別のファイルに保存します。
console.* /var/log/console.log
実装に関する注
``kern'' ファシリティは、通常、ローカルのカーネルから生成されるメッセージ
用に予約されています。ファシリティ ``kern'' でログされた他のメッセージ
は、通常、ファシリティ ``user'' に変換されます。この変換は無効化可能で
す。詳細は syslogd(8) を参照してください。
関連ファイル
/etc/syslog.conf syslogd(8) 設定ファイル
バグ
複数の selector 指定は、時々思ったように効果を発揮しない事があります。例
えば、 ``mail.crit,*.err'' と設定すると、 ``mail'' ファシリティのメッセー
ジのレベルは ``err'' かそれ以上となり、 ``crit'' かそれ以上のレベルにはな
りません。
ネットワーク環境においては、全てのオペレーティングシステムが同じ facility
名のセットを実装しているわけではない点に注意してください。 authpriv,
cron, ftp, ntp といったこの実装において知られた facility が、目的のシステ
ムには存在しないかもしれません。更に悪い事に、 DEC UNIX は AdvFS ファイル
システムのログイベントに facility 番号 10 (この実装では authpriv に該当し
ます) を使っています。
関連項目
syslog(3), syslogd(8)
FreeBSD 4.9 June 9, 1993 FreeBSD 4.9