Provided by: manpages-ja_0.5.0.0.20110915-1_all bug

SELECTORS

       selector  フィールドはさらにピリオド(``.'')で区切られる   facilitypriority  の二つの部分で構成する。 どちらの部分も文字の大文字小文字は区
       別しない。また、数字を用いることも 可能であるが、これは使用しない方がよ
       い。使用した時には警告がなされる。   facility  と  priority  については
       syslog(3)                  に記述されている。以下に記述する各種の名前は
       /usr/include/syslog.h における LOG_-values の同じ名前のものに対応する。

       facility  は次のキーワードのいずれかである:  authauthprivcrondaemonkernlprmailmarknewssecurity  (auth  と同じ)、
       sysloguseruucplocal0からlocal7。 このうち security は今後は利
       用するべきでなく、また、 mark  は内部利用のためのものなので、アプリケー
       ションレベルで用いるべきではない。     ただし利用できないわけではない。
       facility    はメッセージを生成するサブシステムを規定する、すなわち(例え
       ば)全てのメ  イルプログラムは  syslog を用いてログを記録する場合は mail
       facility (LOG_MAIL) を用いる。

       priority は以下のキーワードのいずれかである(昇順): debug, info, notice,
       warning,  warn ( warning と同じ), err, error (err と同じ), crit, alert,
       emerg, panic (emergと同じ).  このうちキーワード errorwarnpanic につ
       いては、同等のものがあるので今後は利用するべきでない。  priority はメッ
       セージの重要性を定義する。

       オリジナルの BSD システムの syslogd の動作は、指示された priority  とそ
       れ よりも順位の高い全てのメッセージが与えられた action に沿って記録され
       る、 というものである。この syslogd(8) もそれと同じ動作であるが、いくつ
       かの拡張機能も有する。

       上述の名前に加え、  syslogd(8) は以下の拡張についても理解する: アスタリ
       スク(``*'')は、 それが用いられている場所 (すなわちピリオドの前か後ろか)
       に応じて、  全ての facility かまたは全ての priority を表わす。 キーワー
       ド none は、それが与えられた facility についてはどの priority も 指定し
       ないことを意味する (つまり除外される)。

       コンマ(``,'')を用いて、同じ  priority を示す一文のなかに複数の facility
       を指定することが可能である。facility   の個数に制限はない。ただしこのよ
       うな記述が可能なのは  facility についてのみで、 priority についてのその
       ような記述は無視するので注意すること。

       セミコロン(``;'')を区切りに用いて複数の selector について同一の  action
       を指定することができる。  selector フィールドの selector は先行するもの
       を上書きしてしまうことに注意するこ と。この動作を用いて特定の  priority
       を除外することも可能である。

       この  syslogd(8)  はオリジナルの  BSD  のソースを拡張する構文を持ってい
       て、より直観的な利  用を可能にしている。イコール記号(``='')を  priority
       に接頭すると、その   priority  のもののみを記録するようにすることができ
       る。エクスクラメーショ ンマーク(``!'')を接頭するとその priority  とそれ
       よりも高い  priority の もののすべてを無視させることができる(イコール記
       号とエクスクラメーショ     ンマークの両方を同時に指定することは可能であ
       る)。この拡張の両方を同時    に用いる場合、イコール記号の前にエクスクラ
       メーションマークを置くことで その priority のみ無視する。

ACTIONS

       ルールの action フィールドには ``logfile''  を指示する。``logfile''  は
       実存するファイルでなくてもかまわない。  syslogd(8) は以下の動作を用意し
       ている。

   通常のファイル
       メッセージはそのファイルに記録される。ファイル名は  ``/''  で始まるフル
       パスで指定すること。

       マイナス記号  ``-''  を接頭すると、記録の際のファイルシステムバッファの
       フラッシュ動作を抑制する。これを用いると、書き込み動作の直後にシステム
       に障害が発生した場合、情報を失なう可能性があることに注意すること。しか
       しながらこの機能は特に騒々しくロギングするプログラムを動作させる際のい
       くらかの性能改善には役に立つ。

   名前付きパイプ
       この syslogd(8) は名前付きパイプ(FIFO)への出力機能を備えている。 ファイ
       ル名の先頭にパイプ記号 (``|'') を書くと、  メッセージの出力先をその名前
       の  FIFO にできる。 これはデバッグ作業に役立つ。FIFO は syslogd(8) のス
       タートに先立ち、 mkfifo(1) コマンドにより生成される必要があることに注意
       すること。

   ターミナルとコンソール
       ファイルとして     tty    を指示した場合は、tty    用の処理がなされる。
       /dev/console も同じ。

   リモートコンピュータ
       この  syslogd(8)   は完全なリモートロギング機能も提供する。すなわちメッ
       セージを  syslogd(8) の動作するリモートのホストに送信することができ、ま
       たリモートのホストか らのメッセージを受信することもできる。リモートのホ
       ストはメッセージをそ   れ以上他のホストへ転送することはせず、その機械に
       ローカルに記録するはずだ。   他のホストへメッセージを送信するにはアット
       マーク(``@'')をそのホスト名 に接頭する。

       この機能を用いると、他の全てのコンピュータにリモートに記録させること
       で、 すべての syslog メッセージを一台のホストで制御することができる。こ
       れは 管理上の困難を解消する。

   ユーザ名のリスト
       通常、特に重要なメッセージはそのコンピュータの  ``root'' にも宛てられる
       ものである。login  しているときにメッセージを受けとるべきユーザのリスト
       を指示することができる。コンマ(``,'')で区切って複数のユーザを指定する
       こともできる。メイルで送ろうと思ってはいけない。それでは手遅れになって
       しまうかもしれない。

   ログインしている誰でも
       システムになにか具合が悪いことが発生することを通知するために、緊急の
       メッ セージはしばしばその時オンラインになっている全てのユーザに通知され
       る。 この wall(1) を利用するためにはアスタリスク(``*'')を用いる。

例
       ここに実在する  site の実際の設定例の一部を用いたいくつかの設定例を挙げ
       る。うまくいけば、たぶん、これで設定上の疑問はすべて解消できると思う
       が、 なにかあったら筆者( Joey )宛てに連絡いただきたい。

              # 危機的状況を /var/adm/critical に保存する。
              #
              *.=crit;kern.none            /var/adm/critical

       priority が crit の、カーネルメッセージを除くすべてのメッセージをファイ
       ル /var/adm/critical に保存する。

              # カーネルメッセージは /var/adm/kernel に
              # 保存し、さらに critical 以上の重要度の
              # メッセージは他のホストへ配信しコンソー
              # ルにも表示する。
              #
              kern.*                       /var/adm/kernel
              kern.crit                    @finlandia
              kern.crit                    /dev/console
              kern.info;kern.!err          /var/adm/kernel-info

       一番目のルールにより、facility    が    kern     のメッセージはファイル
       /var/adm/kernel に記録される。

       二番目の文により、  priority が crit かそれよりも高い全てのメッセージは
       リモートのホスト finlandia へ送信さ  れる。これは、ホストの障害が生じて
       保存されたメッセージを読みだすことが できなくなるような回復不能エラーが
       ディスク装置に発生した際に有効である。   リモートのホストに残されたメッ
       セージで障害の原因調査に取り掛ることもで きる。

       三番目のルールはそのコンピュータで作業している誰かがそのメッセージを得
       ることができるように、実際のコンソールに表示する。

       四行目は、syslogd にpriorityが info から warning のカーネルメッセージを
       ファイル  /var/adm/kernel-info  に保存するよう指示する。 err よりも高い
       priority を持つものは除外される。

              # tcp wrapper は mail.info でロギングする、
              # すべての接続を tty12 に表示する。
              #
              mail.=info                   /dev/tty12

       この例は mail.info (ソースコード上では LOG_MAIL | LOG_INFO)  を用いる全
       てのメッセージを   第   12   コンソール  /dev/tty12  に表示する。例えば
       tcpwrapper tcpd(8) はこの設定を既定値として用いている。

              # メイル関係は一つのファイルへ保存する。
              #
              mail.*;mail.!=info           /var/adm/mail

       このパターンは facility が mail の全てのメッセージから priority が info
       であるものを除くことを示す。これらのメッセージはファイル  /var/adm/mail
       に記録する。

              # mail.info と news.info を /var/adm/info ヘ記録する。
              #
              mail,news.=info              /var/adm/info

       この例は  mail.infonews.info   の両方の全てのメッセージを抜き出
       し、ファイル /var/adm/info に保存する。

              # info と notice は /var/log/messages へ記録する。
              #
              *.=info;*.=notice;\
                   mail.none  /var/log/messages

       この例は syslogd に
        facility  が  mail であるのものを除く他の 全て infonotice の両方の
       priority の全てのメッセージをファイル /var/log/messages  に保存するよう
       指示する。

              # info メッセージは /var/log/messages へ記録する。
              #
              *.=info;\
                   mail,news.none       /var/log/messages

       この指示により  syslogd  は  priority info の全てのメッセージをファイル
       /var/log/messages に記録する。ただし facility が mailnews  の両方の
       メッセージは保存しない。

              # 緊急メッセージを wall で表示する。
              #
              *.=emerg                     *

       このルールは syslogd に全ての緊急のメッセージをその時ログインしている全
       てのユーザに伝えるよ う指示する。これが wall action である。

              # priority が alert のメッセージは管理担当へ
              # 送る。
              *.alert                      root,joey

       このルールは priority が  alert  かそれよりも高い全てのメッセージを操作
       者、すなわちユーザ名  ``root'' と ``joey'' がログインしていればその端末
       に表示する。

              *.*                          @finlandia

       このルールは全てのメッセージを  finlandia  と呼ばれるリモートのホストに
       転送する。これは特に一群のコンピュータの全ての  syslog メッセージを一台
       のコンピュータに保存するのに役に立つ。

設定ファイル文法の相違点
       syslogd の設定は オリジナルの BSD  ソースによるものとは少し異なる文法を
       使用する。 元々は、指示された priority とそれよりも高い priority の全て
       のメッセージが ログファイルに記録されていた。この syslogd  には、より柔
       軟で直観的にわかりやすい設定が可能となるように修飾子            ``=''、
       ``!''、``-''が追加されている。

       オリジナルの BSD の syslogd では selector フィールドと action  フィール
       ドの区切りの文字として空白文字を利用することはできない(TAB  文 字でなけ
       ればならない)。

ファイル
       /etc/syslog.conf
              syslogd の設定ファイル

バグ
       複数の     selector      を指示するとしばしば直観的でなくなる。例えば、
       ``mail.crit,*.err'' は facility が ``mail'' のメッセージのうち ``crit''
       より 高い priority 、ではなくて``err'' よりも高い priority を指示してい
       ることに なる。

関連項目
       sysklogd(8), klogd(8), logger(1), syslog(2), syslog(3)

著者
       syslogd  は Greg Wettstein (greg@wind.enjellic.com) が BSD のソースコー
       ドから Linux で動作するように移植し、Matin Schulze (joey@linux.de) がい
       くつかのバグ フィックスと新しい機能の追加をした。