将python日志设置为stdout的最简单方法

时间:2018-08-02 21:29:57

标签: python logging

我要设置一个基本的记录器以在cron作业中打印输出:

import logging
log=logging.getLogger()
log.setLevel(logging.DEBUG)
log.addHandler(logging.StreamHandler())
log.info('hi')

这是最简单的方法吗?还是有更好的方法?

1 个答案:

答案 0 :(得分:1)

如果只需要将消息打印到标准输出,则logging.basicConfig是列出的配置的便捷快捷方式。它将创建一个StreamHandler,将默认的Formatter附加到其上,并将处理程序附加到根记录器。

import logging

logging.basicConfig(level=logging.DEBUG)
logging.getLogger().info('hi')

查看文档,了解更多配置可能性;例如,

logging.basicConfig(filename='some.log', level=logging.DEBUG)

将配置写入文件some.log而不是标准输出。

请注意,如果已经配置了记录器,logging.basicConfig不会执行任何操作(这意味着已经在根记录器上附加了处理程序)。所以这段代码:

import logging

logging.getLogger().addHandler(logging.FileHandler(filename='some.log'))
logging.basicConfig(level=logging.DEBUG)

将不再将日志记录配置为标准输出;您将必须自己做。