我要设置一个基本的记录器以在cron作业中打印输出:
import logging
log=logging.getLogger()
log.setLevel(logging.DEBUG)
log.addHandler(logging.StreamHandler())
log.info('hi')
这是最简单的方法吗?还是有更好的方法?
答案 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)
将不再将日志记录配置为标准输出;您将必须自己做。