setlogmask(3) ログの優先度マスクを設定する

書式

#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) を使用できるシステムもある。

返り値

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

エラー

なし。

準拠

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

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。