Сохранение консоли в файл

Как сохранить АБСОЛЮТНО все строки, которые выводятся в консоли? logging не позволяет это сделать, она только сохраняет служебные сообщения, в обход ошибкам, принтам и тд​


Ответы (2 шт):

Автор решения: Dmitry

Не буду переубеждать, но логгинг - единственное правильное, протестированное и удобное решение сохранять все сообщения для приложения в файл. Все остальное - костыли, за исключением крайних случаев.

Первое, что надо сделать, это отказаться от print и использовать для этой функциональности уровень debug или info сущности logging.

Ошибки, исключения логгируются с помощью error и exception соответственно.

Второе, создать удобную конфигурацию логгирования, чтобы в консоль и в файл вы получали релевантную и если необходимо одинаковую информацию в едином формате, который вы так же можете определить.

→ Ссылка
Автор решения: wchistow

Можно использовать перенаправление.

Допустим, у нас есть файл program.py и нам нужно сохранить его вывод в файл program_output.txt:

  • Стандартный вывод:
    python program.py > program_output.txt
    
  • Ошибки:
    python program.py 2> program_output.txt
    
  • Всё вместе:
    python program.py > program_output.txt 2>&1
    
→ Ссылка