SYSLOG

Section: C Library Functions (3)
索引 jman

BSD mandoc
 

索引

名称

syslog vsyslog openlog closelog setlogmask - システムログの制御  

索引

ライブラリ

Lb libc  

索引

書式

In syslog.h In varargs.h Ft void Fn syslog int priority const char *message ... Ft void Fn vsyslog int priority const char *message va_list args Ft void Fn openlog const char *ident int logopt int facility Ft void Fn closelog void Ft int Fn setlogmask int maskpri  

索引

解説

Fn syslog 関数は、システムのメッセージロガーにメッセージを書込みます。 そのメッセージは、次に状況に応じてシステムコンソール、ログファイル、 ログインしたユーザなどに書込まれたり、他のマシンに転送されます ( syslogd(8) 参照) 。

メッセージは、 `%m' が現在のエラーメッセージにより置き換えられることを除けば、 printf(3) フォーマットストリングと同じものになります (グローバル変数 errno によって示されるものと同じ。 strerror(3) 参照) 。 何もない場合は、末尾に改行が追加されます。

Fn vsyslog 関数は、 stdarg(3) の可変長引数機能を使ってすでに引数が キャプチャされている場合の代替形式です。

メッセージには優先順位 ( Fa priority ) のタグが付けられます。優先順位は、 Fa facility と level にコード化されます。 Fa facility は、メッセージを作成する システムの一部を記述します。 level は、順番になった (高い方から低い方へ) 次のような一覧から選択します:

LOG_EMERG
パニック状態。これは、通常は全ユーザに送信されます。
LOG_ALERT
壊れたシステムデータベースのような、直ちに是正すべき状態。
LOG_CRIT
危険な状態、例えばハードデバイスエラーなど。
LOG_ERR
エラー。
LOG_WARNING
警告メッセージ。
LOG_NOTICE
エラー状態ではないが、特別に処理する必要性が考えられる状態。
LOG_INFO
インフォメーションメッセージ。
LOG_DEBUG
通常はプログラムのデバッグの際にのみ使う情報が入った メッセージ。

Fn openlog 関数は、 Fn syslog および Fn vsyslog により送られたメッセージに 対して、より特殊な処理を施すためのものです。パラメータ Fa ident は、すべての メッセージの前に付加されるストリングです。 Fa logopt 引数は、ログ作成オプション を指定するビットフィールドで、次に示す値の 1 つ以上を OR 操作することによって作成されます:

LOG_CONS
Fn syslog がメッセージを syslogd(8) へ渡せない場合、 コンソール (``/dev/console '' ) にメッセージを書き込むことを試みます。
LOG_NDELAY
syslogd(8) への接続を直ちに開きます。通常は、最初の メッセージがログに書込まれるまでは開く操作を遅らせます。これは、 ファイル記述子を割り振る順番を管理する必要があるプログラムでは役に 立ちます。
LOG_PERROR
メッセージを、システムログと同時に標準エラー出力にも書込みます。
LOG_PID
各メッセージとともにプロセス ID をログします。デーモンのインスタンス化を識別するために役に立ちます。

Fa 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 までについても同じ。

Fn closelog 関数は、ログファイルを閉じるために使うことができます。

Fn setlogmask 関数は、ログ優先順位マスクを Fa maskpri に設定し、以前のマスクを返します。 Fa maskpri に設定されていない優先順位を持った Fn syslog への呼び出しは拒絶されます。個別の優先順位 Fa pri のためのマスクは、マクロ Fn LOG_MASK pri によって計算されます。 Fa toppri 自体を含む toppri までのすべての優先順位についてのマスクは、マクロ Fn LOG_UPTO toppri によって与えられます。 デフォルトでは、すべての優先順位をログすることを許可します。  

索引

戻り値

ルーチン Fn closelog 、 Fn openlog 、 Fn syslog 、および Fn vsyslog は、値を返しません。

ルーチン Fn 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");
 

索引

関連項目

logger(1), syslogd(8)  

索引

歴史

これらの関数は BSD 4.2 に現れました。


 

索引

Index

名称
ライブラリ
書式
解説
戻り値
関連項目
歴史

jman



Time: 07:07:13 GMT, January 12, 2009