ikeikeikeike's unk blog.

http://github-awards.com/users/ikeikeikeike

Pythonの例外情報(Traceback)をLogに記録するには Logger.exception が便利って話

極たまに下記のようなコードを見ます。例外情報が欲しいのは分かりますがlogging.Loggerクラスには専用のメソッドがあります。

import traceback

try:
    dosomething()
except (KeyError, ValueError):
    logger.error(traceback.format_exc())

Logエラーレベルが ERROR のメッセージで例外情報を残したいなら下記にすべきです。

try:
    dosomething()
except (KeyError, ValueError) as err:
    logger.exception('Error dosomething: %s', err)

ドキュメント