Ich versuche, einen RotatingFileHandler zu meinem Watchdog hinzuzufügen, so dass ich das Logfile-Wachstum im Zaum halten kann. Zur Veranschaulichung verwende ich die Watchdog Quickstart Example.Fügen Sie einen RotatingFileHandler zur Watchdog-Protokollierung hinzu
fand ich eine thread zu erklären, wie die Anmeldung RotatingFileHandler zu implementieren Pythons, aber ich stecken bleiben, wenn ich versuche beide Skripte zu kombinieren:
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()
Der Code keine Fehler erzeugen, aber wie üblich hält anzumelden. Ich vermute, dass der RotatingFileHandler nur an den normalen Logger und nicht an den LoggingEventHandler übergeben wird, aber ich habe keine Ahnung, wie ich ihn an den richtigen Handler weitergeben soll.
Irgendwelche Tipps sehr geschätzt werden,
Grüße
Großartig, danke! Ich habe dem Handler auch einen Formatierer hinzugefügt, um den Zeitstempel beizubehalten: 1) handler = RotatingFileHandlers (** args) 2) formatter = logging.Formatter ('% (asctime) s -% (Nachricht) s') 3) Handler .setFormatter (Formatierer) 4) logger.addHandler (Handler) – Koen