Где посмотреть логи программы, которая падает на Ubuntu Server?

Я запускаю службу (скрипт python, использующий библиотеку twistd) в качестве пользователя без полномочий root, который остается в фоновом режиме. Я заметил, что он зависает в случайное время, и я хочу понять, почему. Насколько я знаю, он не использует какой-либо конкретный файл журнала самостоятельно, так что вы можете сказать мне, где я могу получить больше информации о том, что происходит? Файл программы / приложения / журнала событий или файл, связанный с Python?

3 ответа

Если сценарий не записывает какой-либо журнал сам по себе, это можно сделать, перенаправив стандартный вывод и ошибку в известный файл при запуске. В bash использовать

script.py > /var/log/script.log 2>&1

nohup встроенная утилита или оболочка также могут помочь.

Я считаю полезным всегда включать функцию ведения журнала (через Python logging модуль) в верхней части моих сценариев.

Вот официальный документ регистрации Python.

Вот несколько хороших примеров для различных типов регистрации.

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

Другие вопросы по тегам