にいる機能の*フル*名を取得する方法を次のコード:Pythonの:そのような方法があり、私は
import traceback
def log(message):
print "%s: %s" %(traceback.extract_stack()[0:-1][-1][2], message)
def f1():
log("hello")
class cls(object):
def f1(self):
log("hi there")
f1()
mycls = cls()
mycls.f1()
表示されます。代わりに
f1: hello
cls.f1: hi there
:
f1: hello
f1: hi there
?
私はジュリアン
はEDIT...「検査」モジュールを使用することを試みたが成功しませんでした:
ここでのポイントは、取得できるようにする機能を「ログ」のためでありますその呼び出し元の (traceback、inspect、または必要な手段を使用して)独自の名前を使用します。
私はクラス名、または 'メッセージ'以外のものを 'log'関数に 渡したくありません。
['__qualname__'](https://www.python.org/dev/peps/pep-3155/)を使用できますか? – mgilson
https://stackoverflow.com/questions/10973362/python-logging-function-name-file-name-line-number-using-a-single-file –
@mgilsonはpython2.xの構文を与えられました。そうじゃない? –