我正在尝试设置记录器,记录脚本中的内容。有时我会将此日志文件移动到另一个命名文件以进行存档,并且我希望重新创建日志文件(如果它已丢失)。据我了解,这就是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,但这也没有帮助。
我在这里做错了什么?
答案 0 :(得分:1)
您需要将Formatter
实例添加到具有所需格式的处理程序(basicConfig()
为您添加到根记录器的处理程序执行此操作。)
log_handler.setFormatter(logging.Formatter('%(levelname)s:%(asctime)s:%(message)s'))