在Python中使用`logging`模块的正确方法

时间:2019-07-09 14:46:05

标签: python logging

我试图将日志添加到我的代码中,而不是打印所有内容。我阅读了许多其他的帖子和文章,例如here中列出的那些,但我的代码中的日志无法打印。

这是一个例子:

# driver.py
import logging

logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)

def main():
    logging.debug('This is a simple log')
    # other code here


if __name__ == "__main__":
     main()

但是我的日志未打印到stdout。我在做什么错了?

此外,如果我要将日志记录添加到多个文件中,是否可以在单独的文件上配置日志,例如将其导入到我的driver.pyhelper_funtions.py中,所以我没有重复一遍又一遍吗?

1 个答案:

答案 0 :(得分:1)

您需要一个StreamHandler

ch = logging.StreamHandler()
logger.add_handler(ch)

日志记录手册提供了大量有关设置流处理程序以及记录到文件的示例。您甚至可以将日志格式配置为StdOut,使其看起来与文件格式不同。

https://docs.python.org/3/howto/logging-cookbook.html#logging-cookbook