Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ closelog(3) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

logger(1)

syslogd(8)

SYSLOG(3)  —  NEWS-OS Programmer’s Manual

名称

syslog, openlog, closelog, setlogmask − システムログを制御する

形式

#include <syslog.h>

openlog(ident, logopt, facility)
char ∗ident;

syslog(priority, message, parameters ... )
char ∗message;

closelog()

setlogmask(maskpri)

解説

syslog は、 syslogd(8) によって保守されるシステムログに対してメッセージ (message) を書き込むための準備を 行います。 メッセージには、 優先順位が付けられます。 %m が errno から引き出される現在のエラーメッセージで置き換えられることを 除けば、 このメッセージは printf(3) 用の文字列に類似しています。 必要ならば、 後続の改行文字が加えられます。 このメッセージは、 syslogd(8) で読み込まれ、 システムコンソールやログファイルへ書き出されるか、 あるいは他のホスト上の syslogd へ転送されます。

優先順位は、 機構およびレベルとしてエンコードされます。 機構は、 メッセージを 生成するシステム部分を 表します。 レベルは、 次に並べられたリストから選択されます。

LOG_EMERGパニック状態。 一般にこれは全てのユーザにブロードキャストされる。

LOG_ALERTシステムデータベースの不良等、 すぐに修正するべき状態。

LOG_CRITハードデバイスエラーなど、 危険な状態。

LOG_ERRエラー。

LOG_WARNING警告メッセージ。

LOG_NOTICEエラーではないが、 特別に処理されるべき状態。

LOG_INFO参考メッセージ。

LOG_DEBUG通常、 プログラムを デバッグする場合のみに使用する情報を 含むメッセージ。

syslog が syslogd にメッセージを 渡せない場合、 オプション LOG_CONS (下記参照) がセットされているならば、 syslog は /dev/console にメッセージを 出力しようとします。

特殊な処理が必要な場合、 ログファイルを 初期化するために、 openlog を 呼び出すことができます。 引数 ident は、 各メッセージに対して前置き挿入される文字列です。 logopt は、 ログのオプションを 指定する小フィールドです。 現在の logopt 用の値は次の通りです。

LOG_PIDプロセス ID を そのメッセージとともに記録する。 デーモンの存在を 識別するのに有効である。

LOG_CONSsyslogd にメッセージを 送信できない場合、 強制的にコンソールへ出力させる。 syslog はコンソールを オープンする前に fork するので、 このオプションは制御端末を 持たないデーモンプロセス中で使用しても安全である。

LOG_NDELAY直ちに、 syslogd へのコネクションを オープンする。 一般にこのオープンは、 最初のメッセージが記録されるまで、 遅延される。 ファイルディスクリプタが割り当てられる順番を 管理する必要のあるプログラムに有用。

LOG_NOWAITコンソール上にメッセージを記録するために fork された子プロセスの終了を待たない。 このオプションは、SIGCHILD による子プロセス終了の連絡を 利用するプロセスによって使用されるべきである。 このオプションを使用しないと syslog は終了ステータスが得られるまでブロックする。

引数 facility は、コード化された明示的な機構を持たない メッセージ全てに対して割り当てられるデフォルトの機構を コード化したものです。

LOG_KERNカーネルにより生成されるメッセージ。 これらは、 どのようなユーザプロセスによっても生成され得ない。

LOG_USER任意のユーザプロセスにより生成されるメッセージ。 何も指定されない場合、 これはデフォルト機構の識別子となる。

LOG_MAILメールシステム。

LOG_DAEMONftpd(8) や routed(8) などのようなシステムデーモン。

LOG_AUTHlogin(1)、 su(1)、 getty(8) などのような委任システム。

LOG_LPRlpr(1)、 lpc(8)、 lpd(8) などのようなラインプリンタスプールシステム。

LOG_LOCAL0ローカル使用のための予備。 LOG_LOCAL1 〜 LOG_LOCAL7 と同様。

closelog は、 ログファイルを クローズするのに使用できます。

setlogmask は maskpri にログの優先順位マスクを セットし、 以前のマスクを 返します。 優先順位を maskpri にセットしないで syslog を 呼び出すと、 それは拒絶されます。 個人の優先順位 pri のマスクは、 マクロ LOG_MASK(pri) によって計算されます。 また、 優先順位全てが toppri に達し、 かつそれを 含む場合のマスクは、 マクロ LOG_UPTO(toppri) によって与えられます。 デフォルトでは、 全ての優先順位が記録されます。

使用例

syslog(LOG_ALERT, "who: internal error 23");
 openlog("ftpd", LOG_PID, LOG_DAEMON);
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)

バグ

parameters は、最大 5 個までです。

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026