これまで
実用向け
logger.add("file_app.log", backtrace=True, diagnose=True)
def func(a, b):
return a / b
def nested(c):
try:
func(5, c)
except ZeroDivisionError:
logger.exception("What?!")
nested(0)
-
backtrace
エラーを生成した完全なスタックトレースを表示するかどうか
- diagnose
デバッグを容易にするために、例外トレースに変数の値を表示するかどうか
デフォルトは True になっているので、
機密データの漏洩を防ぐため、本番環境ではこれを False に必ず設定する
-
logger.exception()
例外のトレースバックとともにERRORレベルのメッセージをログに記録する
backtrace, diagnose以外にもパラメータはあるので、下記参照
logger.exception()とlogger.error()の違い
logger.exception()
- キャッチされた例外のメッセージとトレースバックの両方をログに記録
- トレースバック情報は自動的に含まれる
logger.error()
- logger.{level}()・・・levelのメッセージを記録するため
- トレースバック情報は自動的に含まれない