python - 如何更好地启用/禁用日志?

5 投票
1 回答
6757 浏览
提问于 2025-04-16 00:10

哪种方法更好来开启或关闭日志记录?

1) 改变日志级别,

logging.disable(logging.CRITICAL)

2)

log = None

还有以这种方式记录日志信息,

if log:
    log.info("log message")

这样可以避免在日志被关闭时不必要的字符串构造...

1 个回答

15

最好使用1,理想情况下通过配置文件或命令行参数(--quiet)来实现。

使用2只会让你的代码变得杂乱。

如果你想避免耗费资源的字符串构建(根据我的经验,这种情况大约只有0.001%的时间是值得的),可以使用:

if logger.isEnabledFor(logging.DEBUG):
    logger.debug("Message with %s, %s", expensive_func1(),
                                        expensive_func2())

http://docs.python.org/library/logging.html#optimization

撰写回答