setlogmask

Autres langues

Langue: ja

Version: 2001-10-05 (mandriva - 01/05/08)

Section: 3 (Bibliothèques de fonctions)

名前

setlogmask - ログの優先度マスクを設定する

書式

 #include <syslog.h>
 
 int setlogmask(int mask);
 

説明

プロセスにはログ優先度マスク(log priority mask)が用意されていて、 これを用いて syslog(3) が呼び出された場合にログ記録を行うかどうかを決定する。 他のすべての関数が呼び出された場合はログ記録が行われない。 mask の各ビットは優先度に対応しており、対応するビットが 1 にセットされている 優先度に対してログ収集(logging)が有効になる。 マスクの初期値は、すべての優先度に対してログ収集が有効になるような値である。

setlogmask() 関数は、現在のプロセスに対するログマスクを設定し、 変更前のマスクを返す。 mask 引き数が 0 ならば、現在のログマスクは変更されない。

以下の8レベルの優先度が定義されている(優先度の高い順): LOG_EMERG、LOG_ALERT、LOG_CRIT、LOG_ERR、 LOG_WARNING、LOG_NOTICE、LOG_INFO、LOG_DEBUG。 優先度 p に対応するビット列は LOG_MASK(p) によって求められる。 優先度 p 以上のすべての優先度( p を含む)のマスクビットを 求めることができるマクロ LOG_UPTO(p) を使用できるシステムもある。

返り値

変更前のログ優先度マスクの値を返す。

エラー

なし。

注意

glibc 2.1.1 より前のバージョンでは glibc のログマスクの扱いに不具合がある。

準拠

POSIX.1-2001. POSIX.1-2001 での説明には欠陥があることに注意すること。

関連項目

closelog(3), openlog(3), syslog(3)