Python 例外メッセージをログ ファイルに出力していますlogging.error
:
import logging
try:
1/0
except ZeroDivisionError as e:
logging.error(e) # ERROR:root:division by zero
例外文字列だけでなく、例外とそれを生成したコードに関するより詳細な情報を印刷することは可能ですか? 行番号やスタック トレースのようなものがあれば便利です。
ベストアンサー1
logger.exception
エラーメッセージとともにスタックトレースを出力します。
例えば:
import logging
try:
1/0
except ZeroDivisionError:
logging.exception("message")
出力:
ERROR:root:message
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
ZeroDivisionError: integer division or modulo by zero
@パウロ・チェクlogging.exception
「Python 3 では、メソッドをパーツ内で呼び出す必要があることに注意してくださいexcept
。このメソッドを任意の場所で呼び出すと、奇妙な例外が発生する可能性があります。ドキュメントではそのことについて警告しています。」