Ziel: verhindern, dass schedule
jedes Mal protokolliert wird, wenn es ausgeführt wird.Deaktivieren der Protokollierung in der Zeitplanbibliothek
Hintergrund:
Ich verwende die logging
und schedule
Bibliotheken in einem Python-Projekt.
Meine Protokolldatei enthält Informationen über den physischen Zustand eines Instruments, das von einem Raspberry Pi ausgeführt wird, und wird alle 10 Sekunden aktualisiert.
Ich verwende die Bibliothek schedule
, um dieses periodische Protokoll zu planen.
Here ist die begrenzte Dokumentation, die ich für schedule
gefunden habe.
Das Problem:
Die schedule
Bibliothek protokolliert diese Aussage, läuft jedes Mal einen Job.
2016-06-29 09:01:51,022 INFO: Running job every 10 seconds do update_log() (Last run...
Die Funktion, dass schedule
Anrufe ist update_log()
, eine Funktion, die ich laufen alle zehn Sekunden und protokolliert sie (Beispiel unten) enthalten die Variablen im Protokoll berechnet.
2016-06-29 09:01:51,022 INFO: Dist: 12.3 m Rate: 23.8 cm/s
Da schedule
sein eigenes (ziemlich nutzlos) Logzeile produziert, macht es die Protokollierung ich eigentlich bin versucht, sehr schwer zu tun zu lesen.
Das Ziel:
Prevent schedule
von der ersten Anweisung anzumelden.
Was denken Sie darüber, den Loglevel auf einen Wert höher als INFO (WARNING) zu setzen und Ihr Logging auf den WARNING-Level zu setzen? – bernie
Btw, ich LIEBE das "Zeitplan" -Modul. – bernie
Das würde das Problem lösen, aber es fühlt sich eher nach einem Enten-Band-Hack als nach einer Lösung an. Ich benutze auch eine Warnung für Ereignisse, die abnormal sind, aber nicht so schlimm, dass der Prozess gestoppt wird. –