【发布时间】: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 级别的消息发送到单独的文件。