ユーザーセッションをログに記録したい。現在のコードは次のようである(設定フォーマッタとハンドラが省略されている):ログインするには、いくつかのメッセージがある場合すべてのメッセージではなく、ロガーにカスタム値を渡す
logger = logging.getLogger("component")
logger.info("message", extra={"session": 123})
logger.debug("debug", extra={"session": 123})
、それはこの追加情報を毎回送信する迷惑なんです。私はロガーとオーバーライドログメソッドを拡張すると考えることができ
logger = logging.getLogger("component")
# for example:
logger.addExtra({"session": 123})
logger.info("message") # extra would be added automatically
logger.debug("debug") # extra would be added automatically
:何がそのような何かを達成するために/クリーン/最も神託の方法がベストです。その
def get_logger_with_context(name, context=None):
extra = context or {}
logger = logging.getLogger(name)
def log(level, message, **kwargs):
getattr(logger, level)(message, extra=context)
return log
これはシンプルでクールなようです。具体的なコード例をありがとう。 – Ago