最佳答案
我不知道为什么这个代码会打印到屏幕上,但不会打印到文件上?创建了文件“ 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()
方法失败了呢?
如果我将 basicConfig 调用更改为:
logging.basicConfig(level=logging.DEBUG,
filename="example2.log",
format='%(asctime)s %(message)s',
handlers=[logging.StreamHandler()])
那么所有日志都在文件中,控制台中不显示任何内容。