Возможно ли, чтобы сообщения протоколирования python были INFO или DEBUG для перехода на стандартный вывод и WARNING или больше, чтобы перейти в stderr?Разбиение на Python между stdout и stderr
11
A
ответ
-1
Я подумал, что это поможет: Handler.setLevel(lvl)
Устанавливает порог для этого обработчика к лвл. Ведение журнала сообщений, которые являются менее серьезными, чем lvl, будут игнорироваться. Когда обработчик создается, уровень устанавливается на NOTSET (который вызывает обработку всех сообщений).
Но теперь я вижу, что он не будет делать то, что вы хотите (раздвоение INFO/DEBUG из ПРЕДУПРЕЖДЕНИЕ/ОШИБКИ)
Это, как говорится, вы можете написать пользовательский обработчик (класс расширения logging.StreamHandler
, например) , и перезаписать метод Handler.handle()
.
30
Это, кажется, делать то, что я хочу:
#!/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)
Смежные вопросы
- 1. ABAP Stdout и Stderr
- 2. Как скрыть stdout/stderr на расширение python
- 3. Python monitoring stderr и stdout подпроцесса
- 4. STDOUT и STDERR аномалии
- 5. python log stderr и stdout к файлу
- 6. Как перенаправить 'stdout' в 'stderr' и 'stderr' в 'stdout'?
- 7. Piping popen stderr и stdout
- 8. stderr и stdout из ssh?
- 9. vim фильтры и stdout/stderr
- 10. Stderr и Stdout в C?
- 11. Почему STDERR перенаправляется на STDOUT
- 12. Bash-Scripting stderr и stdout
- 13. Как перенаправить STDOUT и STDERR на переменную
- 14. Как перенаправить stderr на stdout и наоборот
- 15. Завершение stderr и перенаправление сообщения на stdout
- 16. Запись stderr и stdout на консоль
- 17. NetBeans stdout и stderr на Linux
- 18. Команда prepend, stdout и stderr
- 19. Разделение stdout sqlcmd и stderr
- 20. paramiko комбайн stdout и stderr
- 21. piping stderr и stdout отдельно
- 22. Bash script stderr и stdout
- 23. stdout и stderr кодировка символов
- 24. Объединить несколько stdout/stderr в один stdout
- 25. Вывод stdout или stderr в python setUpClass
- 26. Cronjob - Как вывести stdout и игнорировать stderr
- 27. Python 2.7 Получить команду stdout/stderr
- 28. Подавить stdout/stderr print из функций Python
- 29. Почему stderr в subprocess.check_call получает потоки stderr и stdout?
- 30. Манипулирование python stdout/stderr с помощью подпроцесса
Это не достаточно, чтобы * стоп * предупреждающие сообщения записываются в стандартный вывод * еще *. –
Фильтр, вероятно, будет лучше. – glglgl
Правильно, я заметил это после отправки моего ответа. Исправлено. –