Журнал, когда скрипт Python не удалось - PullRequest
1 голос
/ 28 марта 2019

Я выполняю довольно сложный скрипт на Python через сеанс экрана на моем сервере. Иногда через несколько часов происходит сбой, и я не могу понять, почему. Поскольку скрипт запускается на экране, я не получаю доступ к ошибке, когда происходит сбой скриптов. Есть ли способ извлечь эту информацию через логирование или простой канал?

Ответы [ 2 ]

1 голос
/ 28 марта 2019

Вы можете использовать nohup и & для запуска вашей команды python в фоновом режиме.Вывод по умолчанию будет записывать все распечатанные выходные данные (включая ошибку, которая завершает ваш скрипт) в файл nohup.out.Вы можете указать вывод файла в Bash, используя >

Например

nohup python my_python_script.py > my_output_log &
0 голосов
/ 28 марта 2019

У меня была очень похожая проблема, и я сделал что-то вроде этого

import logging
logging.basicConfig(filename = os.path.join(script_path, 'error.log'), level = logging.ERROR)
try:
    # some dangerous code here
except Exception as e:
    logging.exception(str(e))
    # Now you can kill your script, etc

Это создаст файл 'error.log' с информацией о сбое

...