Seite 1 von 1

Loggingausgabe in Datei und auf Bildschirm

Verfasst: Sonntag 15. März 2015, 19:58
von darktrym
Ich hab ein Interpreter bei dem die Ausgaben auf beiden protokolliert werden soll, d.h. auf Bildschirm und parallel in einer Datei(visard.log).
Geht das überhaupt?

Code: Alles auswählen

   
def set_logging():
    logging.basicConfig(filename='visard.log', level=logging.DEBUG)
    console = logging.StreamHandler()
    console.setLevel(logging.DEBUG)
    formatter = logging.Formatter('%(levelname)s: %(message)s')
    console.setFormatter(formatter)
    logging.getLogger('').addHandler(console)
Vielleicht hat einer eine Idee was da schiefläuft.

Re: Loggingausgabe in Datei und auf Bildschirm

Verfasst: Montag 16. März 2015, 08:11
von jerch
@darktrym:
Ja das geht (siehe auch https://docs.python.org/2/howto/logging ... stinations). Bei mir läuft da auch nichts schief. Was ist denn Dein Problem damit?

Re: Loggingausgabe in Datei und auf Bildschirm

Verfasst: Montag 16. März 2015, 08:58
von darktrym
Die Ausgabe ist nur auf dem Bildschirm, die Log-Datei bleibt leer.

Re: Loggingausgabe in Datei und auf Bildschirm

Verfasst: Montag 16. März 2015, 16:47
von darktrym
Hab ich da was nicht mitbekommen, wieso muss hier logging auf Modulebene stattfinden, andernfalls bleiben beide leer?

Re: Loggingausgabe in Datei und auf Bildschirm

Verfasst: Montag 16. März 2015, 17:41
von BlackJack
@darktrym: Kannst Du mal ein komplettes Problembeispiel zeigen? Kann es sein das Du irgendetwas protokollierst bevor Du `basicConfig()` aufrufst? Denn in dem Fall wird Dein `basicConfig()`-Aufruf sehr wahrscheinlich einfach ignoriert.

Re: Loggingausgabe in Datei und auf Bildschirm

Verfasst: Dienstag 17. März 2015, 11:30
von darktrym
Peinlich, peinlich genau das wars. Einfach die Initialisierung des Loggers weiter oben im Code behebt den Fehler.