我正在尝试将 RotatingFileHandler 添加到我的看门狗中,让我能够控制日志文件的增长。出于说明目的,我将使用Watchdog 快速入门示例。
我找到了一个解释如何实现 Python 的日志记录 RotatingFileHandler 的线程,但是当我尝试组合这两个脚本时遇到了困难:
if __name__ == "__main__":
logging.basicConfig(filename='test.log', # added filename for convencience
level=logging.INFO,
format='%(asctime)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S')
# edited Quickstart example with RotatingFileHandler here
logger = logging.getLogger('test')
handler = RotatingFileHandler("test.log", maxBytes=2000, backupCount=2)
logger.addHandler(handler)
path = sys.argv[1] if len(sys.argv) > 1 else '.'
event_handler = LoggingEventHandler()
observer = Observer()
observer.schedule(event_handler, path, recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
该代码不会产生任何错误,但会照常记录。我怀疑 RotatingFileHandler 只传递给常规记录器而不是 LoggingEventHandler,但我不知道如何将它传递给正确的处理程序。
非常感谢任何提示,
问候