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

Рейтинг: 0Ответов: 2Опубликовано: 08.03.2023

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

Ответы

▲ 0

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

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

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

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

▲ 0

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

Допустим, у нас есть файл 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