【问题标题】:Disabling/Enabling logging when using syslog使用 syslog 时禁用/启用日志记录
【发布时间】:2011-12-21 22:02:02
【问题描述】:

我打算使用 syslog 来登录应用程序。我需要能够在编译时禁用日志记录,可能使用宏。这可能与系统日志设施有关,还是我需要将系统日志包装在我自己的宏/函数中?根据优先级禁用/启用日志消息的能力是一个优势。

【问题讨论】:

    标签: c logging syslog


    【解决方案1】:

    也许您可以在定义块中封装对setlogmask 的调用。

    setlogmask 设置一个掩码(“logmask”),用于确定哪个未来 系统日志调用应被忽略。如果程序没有调用 setlogmask, syslog 不会忽略任何调用。您可以使用 setlogmask 来指定 未来将忽略特定优先级的消息。

    类似这样的:

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

    【讨论】:

    • 感谢您的回复。我不知道 setlogmask。这不是我想要的,但它似乎是我能得到的最好的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-26
    • 2021-11-05
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 2011-02-07
    • 2018-07-17
    相关资源
    最近更新 更多