Loggingausgabe in Datei und auf Bildschirm

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

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.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@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?
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Die Ausgabe ist nur auf dem Bildschirm, die Log-Datei bleibt leer.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Hab ich da was nicht mitbekommen, wieso muss hier logging auf Modulebene stattfinden, andernfalls bleiben beide leer?
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
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.
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Peinlich, peinlich genau das wars. Einfach die Initialisierung des Loggers weiter oben im Code behebt den Fehler.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Antworten