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)
を使用できるシステムもある。
変更前のログ優先度マスクの値を返す。
なし。
この節で使用されている用語の説明については、
attributes(7) を参照。
インターフェース |
属性 |
値 |
setlogmask() |
Thread safety |
MT-Unsafe race:LogMask |
POSIX.1-2001, POSIX.1-2008.
LOG_UPTO() will be included in the next release of the POSIX
specification (Issue 8).
closelog(3),
openlog(3),
syslog(3)
この man ページは Linux
man-pages
プロジェクトのリリース
5.10
の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/
に書かれている。