ラズベリーパイでpythonコードを実行しています。コードは永遠に続くはずです。ただし、数時間後にクラッシュします。リモート マシンで実行されているため、クラッシュ時に表示されるメッセージが表示されません。
このメッセージをファイルに保存して、何が問題だったのかを確認するにはどうすればよいですか? これはLinuxで自律的に行いますか? または、クラッシュ中にエラーをエクスポートする関数を作成する必要があります。どうやってやるの?
ラズベリーパイでpythonコードを実行しています。コードは永遠に続くはずです。ただし、数時間後にクラッシュします。リモート マシンで実行されているため、クラッシュ時に表示されるメッセージが表示されません。
このメッセージをファイルに保存して、何が問題だったのかを確認するにはどうすればよいですか? これはLinuxで自律的に行いますか? または、クラッシュ中にエラーをエクスポートする関数を作成する必要があります。どうやってやるの?
プロセスが次のように開始された場合、出力をファイルに保存できます。
python script.py >> /logdir/script.py.log 2>&1
メイン関数がクラッシュした場合に備えて、メイン関数とログを作成できます
def main():
...
raise ValueError("Crashed because I'm a bad exception")
...
if __name__ == "__main__":
try:
main()
except Exception as e:
logger.exception("main crashed. Error: %s", e)
これは、logstash などを使用していて、UI でエラーと時間を確認したい場合に適しています。
答えを改善してくれたエリックに感謝します