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
- 名称
-
- ライブラリ
-
- 書式
-
- 解説
-
- 戻り値
-
- 例
-
- 関連項目
-
- 歴史
-
Time: 07:07:13 GMT, January 12, 2009