頭檔案
#include <syslog.h>
函式原型
int setlogmask(int maskpri);
函式說明
A process has a log priority mask that determines which calls to syslog(3) may be logged. All other calls will be ignored. Logging is enabled for the priorities that have the corresponding bit set in mask. The initial mask is such that logging is enabled for all priorities.
The setlogmask() function sets this logmask for the current process, and returns the previous mask. If the mask argument is 0, the current logmask is not modified.
The eight priorities are LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR, LOG_WARNING, LOG_NOTICE, LOG_INFO and LOG_DEBUG. The bit corresponding to a priority p is LOG_MASK(p). Some systems also provide a macro LOG_UPTO(p) for the mask of all priorities in the above list up to and including p.
返回值
返回先前的日誌優先權掩碼。
範例
#include <syslog.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
int logmask;
openlog("logmask", LOG_PID|LOG_CONS, LOG_USER);
syslog(LOG_INFO,"informative message, pid = %d", getpid());
syslog(LOG_DEBUG,"debug message, should appear");
logmask = setlogmask(LOG_UPTO(LOG_NOTICE));
syslog(LOG_DEBUG,"debug message, should not appear");
exit(0);
}