使用WatchedFileHandler进行python日志记录

时间:2015-08-27 21:53:45

标签: python logging

我正在尝试设置记录器,记录脚本中的内容。有时我会将此日志文件移动到另一个命名文件以进行存档,并且我希望重新创建日志文件(如果它已丢失)。据我了解,这就是WatchedFileHandler所做的。但是,在过去,我只使用basicConfig设置设置记录器,并且从未明确添加处理程序。我尝试使用以下代码片段

执行此操作
logging.basicConfig(format='%(levelname)s:%(asctime)s:%(message)s',level=logging.DEBUG,filename='logfile',filemode='w',datefmt='%m/%d/%Y %I:%M:%S %p')
logger = logging.getLogger()
log_handler = logging.handlers.WatchedFileHandler('logfile')
logger.addHandler(log_handler)

但这并没有真正奏效。在我将其移动到磁盘上的另一个名称后,确实重新创建了日志文件 ,但日志文件中没有我的日志记录格式。我在调用getLogger()之后尝试运行basicConfig,但这也没有帮助。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

您需要将Formatter实例添加到具有所需格式的处理程序(basicConfig()为您添加到根记录器的处理程序执行此操作。)

log_handler.setFormatter(logging.Formatter('%(levelname)s:%(asctime)s:%(message)s'))