3

Python を使用してデーモン サーバーを作成しています。たとえば、変数の型が正しくないなど、Python の実行時エラーが発生することがあります。そのエラーによってプロセスが終了することはありません。

このようなランタイム エラーをログ ファイルにリダイレクトすることはできますか?

4

2 に答える 2

5

2つの質問をしているようです。

exceptionプロセスがエラーで終了しないようにするには、を使用して発生したすべての をキャッチする必要がありますtry...except...finally

また、すべての出力をログにリダイレクトしたいと考えています。logging幸いなことに、Python には便利な包括的なモジュールが用意されています。

あなたの喜びと喜びの例:

#!/usr/bin/env python

import logging
logging.basicConfig(filename='warning.log', level=logging.WARNING)

try:
    1/0
except ZeroDivisionError, e:
    logging.warning('The following error occurred, yet I shall carry on regardless: %s', e)

これは優雅に放出します:

% cat warning.log
WARNING:root:The following error occurred, yet I shall carry on regardless: integer division or modulo by zero
于 2010-11-14T03:09:36.917 に答える
2

tracebackモジュールを見てください。をキャッチするRuntimeErrorと、それをログに書き込むことができます (そのloggingモジュールを見てください)。

于 2010-11-14T01:37:14.050 に答える