11
2

これまで

  1. Loguruでログを取る①
  2. Loguruでログを取る②

実用向け

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)

結果
スクリーンショット 2024-07-10 212740.png

  • backtrace
    エラーを生成した完全なスタックトレースを表示するかどうか
  • diagnose

デバッグを容易にするために、例外トレースに変数の値を表示するかどうか

デフォルトは True になっているので、
機密データの漏洩を防ぐため、本番環境ではこれを False に必ず設定する

  • logger.exception()
    例外のトレースバックとともにERRORレベルのメッセージをログに記録する


backtrace, diagnose以外にもパラメータはあるので、下記参照

logger.exception()とlogger.error()の違い

logger.exception()

  • キャッチされた例外のメッセージとトレースバックの両方をログに記録
  • トレースバック情報は自動的に含まれる

logger.error()

  • logger.{level}()・・・levelのメッセージを記録するため
  • トレースバック情報は自動的に含まれない
11
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
2