J'essaie d'ajouter un RotatingFileHandler à mon chien de garde, ce qui me permet de contrôler la croissance du fichier journal. À des fins d'illustration, j'utiliserai le Watchdog Quickstart Example.Ajouter un enregistrement RotationFileHandler à Watchdog
J'ai trouvé un thread expliquant comment mettre en œuvre RotatingFileHandler l'exploitation forestière de pythons, mais je reçois coincé lorsque je tente de combiner les deux scripts:
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()
Le code ne génère pas d'erreurs mais conserve l'exploitation forestière comme d'habitude. Je soupçonne que le RotatingFileHandler est seulement passé à l'enregistreur habituel et pas au LoggingEventHandler, mais je n'ai aucune idée de comment le passer au gestionnaire correct.
Des conseils sont très appréciés,
Cordialement
Très bien, merci! J'ai également ajouté un formateur au gestionnaire pour conserver l'horodatage: 1) handler = RotatingFileHandlers (** args) 2) formatter = logging.Formatter ('% (asctime) s -% (message) s') 3) handler .setFormatter (formatter) 4) logger.addHandler (gestionnaire) – Koen