我打算使用syslog登录应用程序。我需要能够禁用日志记录,在编译时,也许使用宏。这可能与syslog工具有关,还是需要在自己的宏/函数中包装syslog?另外,还可以根据日志消息的优先级禁用/启用日志消息。

最佳答案

也许您可以在define块中包装对setlogmask的调用。
setlogmask设置一个掩码(“logmask”),用于确定
应忽略syslog调用。如果程序没有调用setlogmask,
syslog不忽略任何调用。您可以使用setlogmask指定
今后应忽略具有特殊优先权的信息。
像这样的:

#ifdef LOG_LEVEL1
setlogmask (LOG_UPTO (LOG_NOTICE));
#endif
#ifdef LOG_LEVEL2
setlogmask (LOG_UPTO (LOG_WARNING));
#endif

10-04 11:07