日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、全翻訳済み)
6.4-STABLE-K, 7.2-STABLE-K, 8.0-STABLE-K は現在、 作成中で日々更新されています。 最新の snapshots を元に作成しています。
SYSLOG(3) FreeBSD Library Functions Manual SYSLOG(3)
名称
syslog, vsyslog, openlog, closelog, setlogmask - システムログの制御
書式
#include <syslog.h>
#include <varargs.h>
void
syslog(int priority, const char *message, ...)
void
vsyslog(int priority, const char *message, va_list args)
void
openlog(const char *ident, int logopt, int facility)
void
closelog(void)
int
setlogmask(int maskpri)
解説
syslog() 関数は、システムのメッセージロガーにメッセージを書込みます。その
メッセージは、次に状況に応じてシステムコンソール、ログファイル、ログイン
したユーザーなどに書込まれたり、他のマシンに転送されます ( syslogd(8) 参
照)。
メッセージは、 `%m' が現在のエラーメッセージにより置き換えられることを除
けば、 printf(3) フォーマットストリングと同じものになります (グローバル変
数 errno によって示されるものと同じ。 strerror(3) 参照)。何もない場合は、
末尾に改行が追加されます。
vsyslog() 関数は、 varargs(3) の可変長引数機能を使ってすでに引数がキャプ
チャされている場合の代替形式です。
メッセージには優先順位 ( priority ) のタグが付けられます。優先順位は、
facility と level にコード化されます。 facility は、メッセージを作成する
システムの一部を記述します。 level は、順番になった (高い方から低い方へ)
次のような一覧から選択します:
LOG_EMERG パニック状態。これは、通常は全ユーザーに送信されます。
LOG_ALERT 壊れたシステムデータベースのような、直ちに是正すべき状態。
LOG_CRIT 危険な状態、例えばハードデバイスエラーなど。
LOG_ERR エラー。
LOG_WARNING 警告メッセージ。
LOG_NOTICE エラー状態ではないが、特別に処理する必要性が考えられる状
態。
LOG_INFO インフォメーションメッセージ。
LOG_DEBUG 通常はプログラムのデバッグの際にのみ使う情報が入ったメッセ
ージ。
openlog() 関数は、 syslog() および vsyslog() により送られたメッセージに対
して、より特殊な処理を施すためのものです。パラメータ ident は、すべての
メッセージの前に付加されるストリングです。 logopt 引数は、ログ作成オプ
ションを指定するビットフィールドで、次に示す値の 1 つ以上を OR 操作するこ
とによって作成されます:
LOG_CONS syslog() がメッセージを syslogd(8) へ渡せない場合、コンソー
ル (``/dev/console'') にメッセージを書き込むことを試みま
す。
LOG_NDELAY syslogd(8) への接続を直ちに開きます。通常は、最初のメッセー
ジがログに書込まれるまでは開く操作を遅らせます。これは、
ファイル記述子を割り振る順番を管理する必要があるプログラム
では役に立ちます。
LOG_PERROR メッセージを、システムログと同時に標準エラー出力にも書込み
ます。
LOG_PID 各メッセージとともにプロセス ID をログします。デーモンのイ
ンスタンス化を識別するために役に立ちます。
facility パラメータは、明示的なファシリティがコード化されていないすべての
メッセージに割り当てるデフォルトファシリティをコード化します:
LOG_AUTH 権限付与システム: login(1)、 su(1)、 getty(8)、など。
LOG_AUTHPRIV LOG_AUTH と同じですが、限定された個人だけが読めるファイルに
ログします。
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_SYSLOG syslogd(8) により内部的に生成されたメッセージ。
LOG_USER 任意のユーザープロセスにより生成されたメッセージ。何も指定
されていない場合は、これはデフォルトのファシリティ識別子に
なります。
LOG_UUCP uucp システム。
LOG_LOCAL0 ローカルの使用のために予約。 LOG_LOCAL1 から LOG_LOCAL7 ま
でについても同じ。
closelog() 関数は、ログファイルを閉じるために使うことができます。
setlogmask() 関数は、ログ優先順位マスクを maskpri に設定し、以前のマスク
を返します。 maskpri に設定されていない優先順位を持った syslog() への呼び
出しは拒絶されます。個別の優先順位 pri のためのマスクは、マクロ
LOG_MASK(pri) によって計算されます。 toppri 自体を含む toppri までのすべ
ての優先順位についてのマスクは、マクロ LOG_UPTO(toppri) によって与えられ
ます。デフォルトでは、すべての優先順位をログすることを許可します。
戻り値
ルーチン closelog()、 openlog()、 syslog()、および vsyslog() は、値を返し
ません。
ルーチン 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)
歴史
これらの関数は 4.2BSD に現れました。
4.2 Berkeley Distribution June 4, 1993 3