Angenommen, myapp/foo.pyenthält:
def info(msg):
caller_name = ????
print '[%s] %s' % (caller_name, msg)
Und myapp/bar.pyenthält:
import foo
foo.info('Hello') # => [myapp.bar] Hello
Ich möchte in diesem Fall caller_nameauf das __name__Attribut des aufrufenden Funktionsmoduls (myapp.foo) gesetzt werden. Wie kann das gemacht werden?
caller_namekann es daher nicht sein__main__