Python的Basic日志模板

日志配置:

import logging
fmt = "%(asctime)s [%(levelname)s] %(message)s"
logging.basicConfig(format=fmt, filename="xxx.log", level=logging.INFO)

日志器获取、使用:

LOG = logging.getLogger(CONF.LOG_NAME)
LOG.info("xxx" % (...) )
LOG.debug("x" % (...) )

2014.06.30 如何让log,只输出到文件,不输出到屏幕?

如果我们是自定义构造的log,而不是上述basicConfig,会发现,我们虽然只设定了file的handler,但是还是会输出到屏幕?

原因是:logging模块存在默认的root的handler(输出到屏幕),如果你不修改它,默认其他模块都会继承它,自动带上输出到屏幕,实在是。。

只需要在自己构造logging之前,添加这些即可:

root_logger = logging.getLogger("")
root_logger.addHandler(logging.NullHandler())

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *