In einem Python-Projekt mit mehreren Threads funktioniert meine Protokollierung gut, um in eine Logger-Datei zu schreiben. Grundsätzlich basierend auf Logging-, StreamHandler- und Standard-Streams
Teil meines Projekts ist ein Flaschen-Webserver, der auch gut läuft. Aber jeder Flaschenaufruf schreibt ein Protokoll wie folgt auf die Konsole:
%Vor%Wie geht das genauso wie mit dem anderen Code, also gehen die Flaschenprotokolle auch in die Logger-Datei?
Wenn Sie Ihre eigene Lösung rollen, sollten Sie ein einfaches Bottle-Plugin schreiben, das Protokollzeilen an einen logging
-Logger ausgibt. Hier ist ein Beispiel, das einen Basis-Logger einrichtet, das Logging-Plugin definiert und eine Flaschen-App erstellt, bei der das Plugin auf allen Routen installiert ist.
Wenn Sie diesen Code ausführen, erhalten Sie, was Sie wollen:
%Vor%Ich versuche Rons Lösung zu verwenden, indem ich das Flaschenprogramm in einem Thread starte:
%Vor%mit
%Vor%aber das scheitert. Irgendein 'print' geht zur Datei, aber nicht zum 'yield' (siehe oben), es geht zur Konsole.
Auch die Änderung von "debug = True" zu "quiet = True" ändert sich nur zu: Es gibt überhaupt keine Ausgabe auf der Konsole.