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)
を使用できるシステムもある。
返り値¶
変更前のログ優先度マスクの値を返す。
エラー¶
なし。
POSIX.1-2001. POSIX.1-2001
での説明には欠陥があることに注意すること。
関連項目¶
closelog(3),
openlog(3),
syslog(3)
この文書について¶
この man ページは Linux
man-pages
プロジェクトのリリース
3.65 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man-pages/
に書かれている。