【问题标题】:Python logging levels with rsyslog使用 rsyslog 的 Python 日志记录级别
【发布时间】:2018-04-26 08:42:11
【问题描述】:

我正在尝试从 python 记录器中过滤 rsyslog.d/conf 文件中的级别,但没有过滤任何内容。

import logging
import logging.handlers

if __name__ == "__main__":
    logger = logging.getLogger()
    logger.setLevel(logging.INFO)
    fh = logging.handlers.RotatingFileHandler('./logtest.log', maxBytes=10240, backupCount=5)
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    fh.setFormatter(formatter)
    logger.addHandler(fh)
    logger.info('INFO')
    logger.error('ERROR')

在我的 conf 文件中:

*.=info -/var/log/info.log

但是信息日志没有记录到该文件中,有什么想法吗?

【问题讨论】:

  • 请更正代码对齐方式
  • logger.addHandler(fh) fh(可能是你的文件处理程序)没有定义,我看不出它会如何运行
  • 抱歉错过了一点,更新了
  • 对此我还是有点困惑。您是否尝试使用 rsyslog 或 python 登录到文件?如果 Python 正在写入文件,系统日志过滤器不会做任何事情。您可能想要的是一个系统日志处理程序:stackoverflow.com/questions/3968669/…
  • 说实话,这还不是全部代码。我在这里尝试做的是通过 local6 工具将消息发送到 rsyslog,该工具会将 INFO 级别的消息发送到单独的文件。

标签: python syslog


【解决方案1】:

这个问题已经解决了。问题确实出在 syslog 上,我的程序中有问题,没有将级别正确记录到设施中。

又名:它们都被记录为警告。

【讨论】:

    猜你喜欢
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    • 2016-02-20
    • 2020-11-19
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    • 2014-12-24
    相关资源
    最近更新 更多