我不知道为什么这段代码会打印到屏幕上,而不是文件上?文件“example1.log”已创建,但没有写入任何内容。
#!/usr/bin/env python3
import logging
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(message)s',
handlers=[logging.FileHandler("example1.log"),
logging.StreamHandler()])
logging.debug('This message should go to the log file and to the console')
logging.info('So should this')
logging.warning('And this, too')
我通过创建一个日志对象“绕过”了这个问题,但它一直困扰着我为什么basicConfig()
方法失败了?
PS。如果我将 basicConfig 调用更改为:
logging.basicConfig(level=logging.DEBUG,
filename="example2.log",
format='%(asctime)s %(message)s',
handlers=[logging.StreamHandler()])
然后所有日志都在文件中,控制台中不显示任何内容。