2015-08-27 47 views
0

我想设置一个日志记录器从我的脚本记录的东西。有时我会将这个日志文件移动到另一个命名文件进行归档,并且我希望日志文件在缺失时重新创建。据我所知,这是WatchedFileHandler所做的。但是,在过去,我只使用basicConfig安装程序设置记录器,并且从不明确添加处理程序。我试图用下面的代码片段做到这一点使用与WatchedFileHandler python日志记录

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

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

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

谢谢。这工作! – gammapoint