other versions
SYSLOG(3) | Linux Programmer's Manual | SYSLOG(3) |
名前¶
closelog, openlog, syslog, vsyslog - システムロガーにメッセージを送る書式¶
#include <syslog.h>glibc 向けの機能検査マクロの要件 ( feature_test_macros(7) 参照):
説明¶
closelog() はシステムのログ記録用プログラム(システムロガー syslogd(8)) ヘの接続を終了する。 closelog() は必須ではない。option¶
下記の値を OR したものが openlog() の option 引き数になる:- LOG_CONS
- エラーがあれば、システムロガーに送る一方でシステムコンソールにも直接書く。
- LOG_NDELAY
- ログ記録用プログラムとの接続を即座に開始する (通常は、最初のメッセージが記録される時に接続を開く)。
- LOG_NOWAIT
- メッセージを記録する際に生成される子プロセスの終了を待たない。 (GNU C ライブラリは子プロセスを生成しない。 したがって、このオプションは Linux では無効である。)
- LOG_ODELAY
- LOG_NDELAY の反対。 syslog() が呼ばれるまで、接続の開始を行わない。 (このオプションはデフォルトであり、特に指定する必要はない。)
- LOG_PERROR
- stderr にも出力する。 (POSIX.1-2001 と POSIX.1-2008 では定義されていない)
- LOG_PID
- 個々のメッセージに PID を含める。
facility¶
facility 引き数はメッセージに記録されるプログラムのタイプを指定するために使われる。 これによって異なるタイプのプログラムからのメッセージは異なる扱いを するように設定ファイル( syslog.conf(5)) に定義できる。- LOG_AUTH
- セキュリティ/認証 メッセージ (非推奨。代わりに LOG_AUTHPRIV を使用すること)
- LOG_AUTHPRIV
- セキュリティ/認証 メッセージ (プライベート)
- LOG_CRON
- クロックデーモン ( cron と at)
- LOG_DAEMON
- 特定の facility 値を持たないシステムデーモン
- LOG_FTP
- ftp デーモン
- LOG_KERN
- カーネルメッセージ (ユーザプロセスから生成することはできない)
- LOG_LOCAL0 から LOG_LOCAL7
- ローカルな使用のためにリザーブされている
- LOG_LPR
- ラインプリンタ・サブシステム
- LOG_MAIL
- メール・サブシステム
- LOG_NEWS
- USENET ニュース・サブシステム
- LOG_SYSLOG
- syslogd(8) によって内部的に発行されるメッセージ
- LOG_USER (デフォルト)
- 一般的なユーザレベルメッセージ
- LOG_UUCP
- UUCPサブシステム
level¶
これはメッセージの優先度を指定する。 優先度の高いものから低いものの順で下記する。- LOG_EMERG
- システムが使用不可
- LOG_ALERT
- 直ちに行動を起こさなければならない
- LOG_CRIT
- 危険な状態
- LOG_ERR
- エラーの状態
- LOG_WARNING
- ワーニングの状態
- LOG_NOTICE
- 通常だが重要な状態
- LOG_INFO
- インフォメーションメッセージ
- LOG_DEBUG
- デバッグレベルのメッセージ
準拠¶
openlog(), closelog(), syslog() は SUSv2, POSIX.1-2001, POSIX.1-2008 で規定されている (但し vsyslog() は除く)。 POSIX.1-2001 では facility として LOG_USER と LOG_LOCAL* の値 が規定されているだけである。 しかしながら、 LOG_AUTHPRIV と LOG_FTP という例外はあるが、 それ以外の facility の値は多くの UNIX システムで使われている。 option の値の LOG_PERROR の値は、 POSIX.1-2001 と POSIX.1-2008 では規定されていないが、 UNIX の多くのバージョンで使用可能である。注意¶
openlog() 呼び出しの ident 引き数は、値がそのまま保持されていることを前提にしている。 それゆえ、 ident で指定された文字列が変更されると、 syslog() は変更された文字列の追加するだろうし、 指定された文字列が存在しなくなった場合、結果は未定義である。 最も移植性がある方法は、文字列定数を使用することである。 ユーザーから与えられたデータを format として渡してはならない。 代わりに以下を使うこと。syslog(priority, "%s", string);
関連項目¶
logger(1), setlogmask(3), syslog.conf(5), syslogd(8)この文書について¶
この man ページは Linux man-pages プロジェクトのリリース 3.41 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2012-04-30 | Linux |