総合手引 | セクション 3 | English | オプション |
#include <syslog.h>
#include <varargs.h>
メッセージは、 ‘%m’ が現在のエラーメッセージにより置き換えられることを除けば、 printf(3) フォーマットストリングと同じものになります (グローバル変数 errno によって示されるものと同じ。 strerror(3) 参照) 。 何もない場合は、末尾に改行が追加されます。
vsyslog() 関数は、 stdarg(3) の可変長引数機能を使ってすでに引数が キャプチャされている場合の代替形式です。
メッセージには優先順位 ( priority ) のタグが付けられます。優先順位は、 facility と level にコード化されます。 facility は、メッセージを作成する システムの一部を記述します。 level は、順番になった (高い方から低い方へ) 次のような一覧から選択します:
LOG_EMERG | パニック状態。これは、通常は全ユーザに送信されます。 |
LOG_ALERT | 壊れたシステムデータベースのような、直ちに是正すべき状態。 |
LOG_CRIT | 危険な状態、例えばハードデバイスエラーなど。 |
LOG_ERR | エラー。 |
LOG_WARNING | 警告メッセージ。 |
LOG_NOTICE | エラー状態ではないが、特別に処理する必要性が考えられる状態。 |
LOG_INFO | インフォメーションメッセージ。 |
LOG_DEBUG | 通常はプログラムのデバッグの際にのみ使う情報が入った メッセージ。 |
openlog() 関数は、 syslog() および vsyslog() により送られたメッセージに 対して、より特殊な処理を施すためのものです。パラメータ ident は、すべての メッセージの前に付加されるストリングです。 logopt 引数は、ログ作成オプション を指定するビットフィールドで、次に示す値の 1 つ以上を OR 操作することによって作成されます:
LOG_CONS | syslog() がメッセージを syslogd(8) へ渡せない場合、 コンソール (" /dev/console") にメッセージを書き込むことを試みます。 |
LOG_NDELAY | syslogd(8) への接続を直ちに開きます。通常は、最初の メッセージがログに書込まれるまでは開く操作を遅らせます。これは、 ファイル記述子を割り振る順番を管理する必要があるプログラムでは役に 立ちます。 |
LOG_PERROR | メッセージを、システムログと同時に標準エラー出力にも書込みます。 |
LOG_PID | 各メッセージとともにプロセス ID をログします。デーモンのインスタンス化を識別するために役に立ちます。 |
facility パラメータは、明示的なファシリティが コード化されていないすべてのメッセージに割り当てるデフォルトファシリティを コード化します:
LOG_AUTH | 権限付与システム: login(1) 、 su(1) 、 getty(8) 、など。 |
LOG_AUTHPRIV | |
LOG_AUTH と同じですが、限定された個人だけが読める ファイルにログします。 | |
LOG_CONSOLE | カーネルコンソール出力ドライバが、メッセージを /dev/console に書き込みます。 |
LOG_CRON | cron デーモン: cron(8) 。 |
LOG_DAEMON | routed(8) のような、他のファシリティでは明示的に 用意されていないシステムデーモン。 |
LOG_FTP | ファイル転送プロトコルデーモン: ftpd(8) 、 tftpd(8) 。 |
LOG_KERN | カーネルにより生成されるメッセージ。これらは、どんな ユーザプロセスによっても生成できません。 |
LOG_LPR | ラインプリンターのスプーリングシステム: lpr(1) 、 lpc(8) 、 lpd(8) 、など。 |
LOG_MAIL | メールシステム。 |
LOG_NEWS | ネットワークニュースシステム。 |
LOG_SECURITY | |
セキュリティサブシステムです。 例えば ipfw(4) です。 | |
LOG_SYSLOG | syslogd(8) により内部的に生成されたメッセージ。 |
LOG_USER | 任意のユーザプロセスにより生成されたメッセージ。何も 指定されていない場合は、これはデフォルトのファシリティ識別子になります。 |
LOG_UUCP | uucp システム。 |
LOG_LOCAL0 | ローカルの使用のために予約。 LOG_LOCAL1 から LOG_LOCAL7 までについても同じ。 |
closelog() 関数は、ログファイルを閉じるために使うことができます。
setlogmask() 関数は、ログ優先順位マスクを maskpri に設定し、以前のマスクを返します。 maskpri に設定されていない優先順位を持った syslog() への呼び出しは拒絶されます。個別の優先順位 pri のためのマスクは、マクロ LOG_MASK(pri) によって計算されます。 toppri 自体を含む toppri までのすべての優先順位についてのマスクは、マクロ LOG_UPTO(toppri) によって与えられます。 デフォルトでは、すべての優先順位をログすることを許可します。
ルーチン setlogmask() は、常に前のログマスクレベルを返します。
syslog(LOG_ALERT, "who: internal error 23");openlog("ftpd", LOG_PID | LOG_NDELAY, LOG_FTP);
setlogmask(LOG_UPTO(LOG_ERR));
syslog(LOG_INFO, "Connection from host %d", CallingHost);
syslog(LOG_INFO|LOG_LOCAL2, "foobar error: %m");
SYSLOG (3) | June 4, 1993 |
総合手引 | セクション 3 | English | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | Using Unix is the computing equivalent of listening only to music by David Cassidy | ” |
— Rob Pike |