Pythonでエラーが発生した際に詳細なログを記録するためには、loggingモジュールを活用します。特に、logging.exception()exc_info=Trueオプションを使うことで、エラーの発生箇所やスタックトレースを含む詳細なデバッグ情報を記録できます。

logging.exception()の使用例

logging.exception()は、エラーメッセージに加えてスタックトレースも自動的に出力する便利な関数です。

import logging
try:
    1 / 0
except ZeroDivisionError:
    logging.exception("エラーが発生しました")

このコードを実行すると、エラーメッセージに加え、どのコード行でエラーが発生したのかがログに記録されます。

exc_infoオプションの使用

より柔軟なログ出力を求める場合は、exc_info=Trueを指定することで、エラーレベルを変更しつつスタックトレースを含めることが可能です。

import logging
try:
    1 / 0
except ZeroDivisionError as e:
    logging.error(e, exc_info=True)

この場合、logging.errorのメソッドで、エラーメッセージとスタックトレースを出力できます。

まとめ

Pythonでエラーの詳細を含むログを記録するには、logging.exception()exc_info=Trueが非常に有用です。これらを適切に使用することで、デバッグ情報を効率的に収集し、トラブルシューティングを迅速に行えるようになります。