Czy jest możliwe, aby komunikaty logowania Pythona, które są INFO lub DEBUG, aby przejść do stdout i OSTRZEŻENIE lub więcej, aby przejść do stderr?Rejestrowanie w Pythonie pomiędzy stdout i stderr
11
A
Odpowiedz
-1
myślałem, że to pomoże: Handler.setLevel(lvl)
Ustawia próg dla tej obsługi LVL. Rejestrowanie wiadomości, które są mniej surowe niż lvl, zostanie zignorowane. Kiedy tworzony jest program obsługi, poziom jest ustawiony na NOTSET (co powoduje przetworzenie wszystkich komunikatów).
Ale teraz widzę, że to nie to, co chcesz (Split INFO/debug z Ostrzeżenie/błąd)
Mając na uwadze powyższe, można napisać program obsługi niestandardowych (klasa rozszerzenie logging.StreamHandler
na przykład) i zastąpić metodę Handler.handle()
.
30
To wydaje się robić to, co chcę:
#!/usr/bin/python
import sys
import logging
class InfoFilter(logging.Filter):
def filter(self, rec):
return rec.levelno in (logging.DEBUG, logging.INFO)
logger = logging.getLogger('__name__')
logger.setLevel(logging.DEBUG)
h1 = logging.StreamHandler(sys.stdout)
h1.setLevel(logging.DEBUG)
h1.addFilter(InfoFilter())
h2 = logging.StreamHandler()
h2.setLevel(logging.WARNING)
logger.addHandler(h1)
logger.addHandler(h2)
Powiązane problemy
- 1. paramiko łączyć stdout i stderr
- 2. Rury popen stderr i stdout
- 3. Orurowanie stdout i stderr w bash?
- 4. LLVM stdin/stdout/stderr
- 5. Haskell: System.Process scal stdout i stderr
- 6. Monitorowanie zapytania stderr i stdout podprocesu
- 7. Jak przekierować STDOUT i STDERR do zmiennej
- 8. Przekierowanie stdout i stderr do funkcji
- 9. Przekierowanie stdout i stderr z pliku wsadowego
- 10. Przekierowanie podprocesu stderr na stdout
- 11. Przechwytywanie stdout/stderr z NDK
- 12. Czy istnieje sposób przechwytywania stderr i stdout w Visual Studio?
- 13. Jak dodać stdout i stderr do pliku rejestratora w kolbie
- 14. catch stderr i stdout w log4j przed przekierowaniem unixa
- 15. Złap stderr i stdout z zewnętrznego programu w C++
- 16. Przechwytywanie stdout i stderr z SAS w systemie Windows?
- 17. uruchomienie aplikacji, przechwytywanie stdout i stderr w C++
- 18. Rejestrowanie w Pythonie typeerror
- 19. Czy stdin, stdout, stderr buforowane lub niebuforowane w Lua?
- 20. Przekierowanie stdout + stderr na usługę C# Windows
- 21. Dlaczego STDERR jest przekierowywany na STDOUT
- 22. fork() i STDOUT/STDERR na konsolę z procesów potomnych
- 23. linux g + + kompilator przekierowanie stderr i stdout tworzy pusty plik
- 24. Linux/Perl: dodatkowe bufory wyjściowe inne niż STDOUT i STDERR?
- 25. Podczas korzystania z podprocesu.Popen(), stderr i stdout nie mają wyjścia
- 26. Jak przekierować stdout i stderr z csh skrypt
- 27. Błąd podczas przekierowania stdout i stderr skryptu powłoki Power Shell
- 28. Czy każdy proces ma własne stdin, stdout i stderr?
- 29. Jak tymczasowo ukryć stdout lub stderr podczas uruchamiania unittest w Pythonie
- 30. python: uruchomić proces z limitu czasu i przechwytywania stdout, stderr i stanu wyjścia
To nie wystarczy do zatrzymania wiadomości * * UWAGA być zalogowany na stdout * nadal *. –
Filtr prawdopodobnie byłby lepszy. – glglgl
Prawidłowo, zauważyłem to po opublikowaniu mojej odpowiedzi. Naprawiono teraz. –