ランタイム例外が発生したときに他の関数内から呼び出したい「現在の」行番号 (および時間) を報告する次の関数。
当然のことながら、返される行番号は常に gTime() 関数自体内の getframeinfo の位置に関連しています。つまり、静的です。
メインコード本体内で必要な各位置に(長い) gTime コードを直接追加せずに、line.num/time データが必要なときはいつでも gTime() 機能が必要です。gTime() 関数内のコードを置き換えるために、ある種のコマンド シーケンス エイリアスを実際に探していると思いますが、問題の解決策が見つかりません。
標準の「ロガー」モジュールは、私のマルチスレッド アプリケーション内では確実に機能しないため、手巻きのソリューションに頼っています。
from inspect import currentframe, getframeinfo
from datetime import datetime
def gTime():
position = "%s [%s] - " % (str(datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f").rstrip('0')),getframeinfo(currentframe()).lineno)
return position
print gTime()