1. ホーム
  2. python

[解決済み] Pythonでソースファイル名と行数を記録する方法

2022-02-11 10:16:38

質問

Python標準のロギングシステムを装飾/拡張して、ロギングメソッドが呼び出されたときに、それが呼び出されたファイルと行番号、またはそれを呼び出したメソッドも記録することは可能でしょうか?

どのように解決するのですか?

もちろん、チェックしてください。 フォーマッタ をロギングドキュメントに追加しました。特に lineno と pathname 変数について。

<ブロッククオート

(パス名)s ロギングコールが発行されたソースファイルのフルパス名(利用可能な場合)。

(ファイル名)s パス名のファイル名部分。

(モジュール)s モジュール(ファイル名の名前部分)。

%(funcName)s ロギングコールを含む関数名。

(リネノ)d ロギング呼び出しが発行されたソース行番号(利用可能な場合)。

このような感じです。

formatter = logging.Formatter('[%(asctime)s] p%(process)s {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s','%m-%d %H:%M:%S')