jammy (3) closelog.3.gz

Provided by: manpages-ja-dev_0.5.0.0.20210215+dfsg-1_all bug

名前

       closelog, openlog, syslog, vsyslog - システムロガーにメッセージを送る

書式

       #include <syslog.h>

       void openlog(const char *ident, int option, int facility);
       void syslog(int priority, const char *format, ...);
       void closelog(void);

       #include <stdarg.h>

       void vsyslog(int priority, const char *format, va_list ap);

   glibc 向けの機能検査マクロの要件 (feature_test_macros(7)  参照):

       vsyslog(): _BSD_SOURCE

説明

       closelog()   はシステムのログ記録用プログラム(システムロガー syslogd(8))  ヘの接続を終了する。 closelog()
       は必須ではない。

       openlog() はログを出力しようとしているプログラムからログ記録用 プログラム (system logger) への 接続を開始
       する。 ident で指定した文字列は各メッセージの前に付与される。 通常は ident にはプログラム名が設定される。
       ident が NULL の場合、プログラムが ident として使用される (POSIX.1-2008 では ident が NULL の場合の動作は
       規定されていない)。

       option 引き数は、 openlog() の動作とその後の syslog() の呼び 出しを制御するフラグを指定する。 facility 引
       き数は、後で syslog() を呼び出す際に facility  が指定されなかった場合に使用される  デフォルト値  を決定す
       る。 optionfacility については後述する。 openlog() は必須ではなく、必要に応じて syslog() から呼び出さ
       れる。 syslog() が呼び出した場合、 ident のデフォルト値は NULL になる。

       syslog()  はログメッセージを出力し、 syslogd(8)  がそのメッセージを記録する。 priority 引き数は  facilitylevel  との組合せで指定する。  facilitylevel  の取りうる値は後述する。  残りの  format 引き数は
       printf(3)  と似たスタイルの書式とその書式に与える値である。 format 中の2文字 %m はその時点での errno に関
       連するエラーメッセージ文字列 (strerror)  によって置き換えられる。 必要な場合は末尾に改行が加えられる。

       vsyslog()  関数は syslog()  と同じ機能を持つが、可変引き数リストを指定することができる点が異なる。 指定さ
       れた引き数は、 stdarg(3)  可変引き数リストマクロを用いて取得される。

       以下のサブセクションでは、 optionfacilitypriority  の値を設定するのに使用されるパラメーターを説明
       する。

   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_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      デバッグレベルのメッセージ

       setlogmask(3)  関数を使用して、 指定されたレベルのメッセージだけを記録するように 制限することができる。

準拠

       openlog(),  closelog(), syslog() は SUSv2, POSIX.1-2001, POSIX.1-2008 で規定されている (但し vsyslog() は
       除く)。 POSIX.1-2001 では facility として LOG_USERLOG_LOCAL* の値 が規定されているだけである。 しかし
       ながら、  LOG_AUTHPRIVLOG_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.79 の一部 である。プロジェクトの説明とバグ報告
       に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。