.\" Written Feb 1994 by Steve Greenland (stevegr@neosoft.com) .\" .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" .\" Updated 1999.12.19 by Karl M. Hegbloom .\" .\" Updated 13 Oct 2001, Michael Kerrisk .\" Added description of vsyslog .\" Added descriptions of LOG_ODELAY and LOG_NOWAIT .\" Added brief description of facility and option arguments .\" Added CONFORMING TO section .\" 2001-10-13, aeb, minor changes .\" Modified 13 Dec 2001, Martin Schulze .\" Modified 3 Jan 2002, Michael Kerrisk .\" .\" Japanese Verion Copyright (c) 1996 Shoichi OZAWA .\" all right reserved. .\" Translated Sep 1 20:14:01 JST 1996 .\" by Shoichi OZAWA .\" Updated Thu Oct 18 01:00:02 JST 2001 .\" by Akihiro MOTOKI .\" Updated Fri Jan 4 22:15:21 JST 2002 .\" by Akihiro MOTOKI .\" Updated 2002-04-14 by Kentaro Shirakata .\" Updated 2007-01-01 by Kentaro Shirakata .\" .TH SYSLOG 3 2008-11-12 "Linux" "Linux Programmer's Manual" .SH 名前 closelog, openlog, syslog, vsyslog \- システムロガーにメッセージを送る .SH 書式 .B #include .sp .BI "void openlog(const char *" ident ", int " option ", int " facility ); .br .BI "void syslog(int " priority ", const char *" format ", ...);" .br .B "void closelog(void);" .sp .B #include .sp .BI "void vsyslog(int " priority ", const char *" format ", va_list " ap ); .sp .in -4n glibc 向けの機能検査マクロの要件 .RB ( feature_test_macros (7) 参照): .in .sp .BR vsyslog (): _BSD_SOURCE .SH 説明 .BR closelog () はシステムのログ記録用プログラム(システムロガー .BR syslogd (8)) ヘの接続を終了する。 .BR closelog () は必須ではない。 .sp .BR openlog () はログを出力しようとしているプログラムからログ記録用プログラムへの 接続を開始する。 .I ident で指定した文字列(通常は .BR openlog () したプログラムの名前)はログ出力の一文一文に追加され、どのプログラム が出力したログかを識別するために使われる。 .I option 引き数は、 .BR openlog () の動作とその後の .BR syslog () の呼び出しを制御するフラグを指定する。 .I facility 引き数は、後で .BR syslog () を呼び出す際に facility が指定されなかった場合に使用される デフォルト値を決定する。 .I option と .I facility については後述する。 .BR openlog () は必須ではなく、必要に応じて .BR syslog () から呼び出される。 .BR syslog () が呼び出した場合、 .I ident のデフォルト値は NULL になる。 .sp .BR syslog () はログメッセージを出力し、 .BR syslogd (8) がそのメッセージを記録する。 .I priority 引き数は .I facility と .I level との組合せで指定する。 .I facility と .I level の取りうる値は後述する。 残りの .I format 引き数は .BR printf (3) と似たスタイルの書式とその書式に与える値である。 .I format 中の2文字 .B %m はその時点での .I errno に関連するエラーメッセージ文字列 .RI ( strerror ) によって置き換えられる。 必要な場合は末尾に改行が加えられる。 .BR vsyslog () 関数は .BR syslog () と同じ機能を持つが、可変引き数リストを指定することができる点が異なる。 指定された引き数は、 .BR stdarg (3) 可変引き数リストマクロを用いて取得される。 以下のサブセクションでは、 .I option と .I facility と .I priority の値を設定するのに使用されるパラメータを説明する。 .SS option 下記の値を OR したものが .BR openlog () の .I option 引き数になる: .TP 15 .B LOG_CONS エラーがあれば、システムロガーに送る一方でシステムコンソールにも直接書く。 .TP .B LOG_NDELAY ログ記録用プログラムとの接続を即座に開始する (通常は、最初のメッセージが記録される時に接続を開く)。 .TP .B LOG_NOWAIT メッセージを記録する際に生成される子プロセスの終了を待たない。 (GNU C ライブラリは子プロセスを生成しない。 したがって、このオプションは Linux では無効である。) .TP .B LOG_ODELAY .B LOG_NDELAY の反対。 .BR syslog () が呼ばれるまで、接続の開始を行わない。 (このオプションはデフォルトであり、特に指定する必要はない。) .TP .B LOG_PERROR stderr にも出力する。(POSIX.1-2001 では定義されていない) .TP .B LOG_PID 個々のメッセージに PID を含める。 .SS facility .I facility 引き数はメッセージに記録されるプログラムのタイプを指定するために使われる。 これによって異なるタイプのプログラムからのメッセージは異なる扱いを するように設定ファイル( .BR syslog.conf (5)) に定義できる。 .TP 15 .B LOG_AUTH セキュリティ/認証 メッセージ (非推奨。代わりに .B LOG_AUTHPRIV を使用すること) .TP .B LOG_AUTHPRIV セキュリティ/認証 メッセージ (プライベート) .TP .B LOG_CRON クロックデーモン .RB ( cron と .RB at ) .TP .B LOG_DAEMON 特定の facility 値を持たないシステムデーモン .TP .B LOG_FTP ftp デーモン .TP .B LOG_KERN カーネルメッセージ (ユーザプロセスから生成することはできない) .\" LOG_KERN has the value 0; if used as a facility, zero translates to: .\" "use the default facility". .TP .BR LOG_LOCAL0 " から " LOG_LOCAL7 ローカルな使用のためにリザーブされている .TP .B LOG_LPR ラインプリンタ・サブシステム .TP .B LOG_MAIL メール・サブシステム .TP .B LOG_NEWS USENET ニュース・サブシステム .TP .B LOG_SYSLOG .BR syslogd (8) によって内部的に発行されるメッセージ .TP .BR LOG_USER " (デフォルト)" 一般的なユーザレベルメッセージ .TP .B LOG_UUCP UUCPサブシステム .SS level これはメッセージの優先度を指定する。 優先度の高いものから低いものの順で下記する。 .TP 15 .B LOG_EMERG システムが使用不可 .TP .B LOG_ALERT 直ちに行動を起こさなければならない .TP .B LOG_CRIT 危険な状態 .TP .B LOG_ERR エラーの状態 .TP .B LOG_WARNING ワーニングの状態 .TP .B LOG_NOTICE 通常だが重要な状態 .TP .B LOG_INFO インフォメーションメッセージ .TP .B LOG_DEBUG デバッグレベルのメッセージ .LP .BR setlogmask (3) 関数を使用して、 指定されたレベルのメッセージだけを記録するように 制限することができる。 .SH 準拠 .BR openlog (), .BR closelog (), .BR syslog () は SUSv2 と POSIX.1-2001 で規定されている (但し .BR vsyslog () は除く)。 POSIX.1-2001 では .I facility として .B LOG_USER と .B LOG_LOCAL* の値が規定されているだけである。 しかしながら、 .B LOG_AUTHPRIV と .B LOG_FTP という例外はあるが、 それ以外の .I facility の値は多くの UNIX システムで使われている。 .I option の値の .B LOG_PERROR の値は、 POSIX.1-2001 では規定されていないが、 UNIX の多くのバージョンで使用可能である。 .\" .SH 履歴 .\" .BR syslog () .\" ファンクション・コールは 4.2BSD から実装された。 .\" 4.3BSD には .\" .BR openlog (), .\" .BR syslog (), .\" .BR closelog (), .\" .BR setlogmask () .\" が実装されている。 .\" また、4.3BSD-Reno には .\" .BR vsyslog () .\" が実装されている。 .\" 当然ながら初期の v* 関数は .\" .I .\" とは互換性のない .\" .I .\" の仕組を使用したものである。 .SH 注意 .BR openlog () 呼び出しの .I ident 引き数は、値がそのまま保持されていることを前提にしている。 それゆえ、 .I ident で指定された文字列が変更されると、 .BR syslog () は変更された文字列の追加するだろうし、 指定された文字列が存在しなくなった場合、結果は未定義である。 最も移植性がある方法は、文字列定数を使用することである。 .LP ユーザーから与えられたデータを format として渡してはならない。 代わりに以下を使うこと。 .nf syslog(priority, "%s", string); .fi .SH 関連項目 .BR logger (1), .BR setlogmask (3), .BR syslog.conf (5), .BR syslogd (8)