Le vendredi 23 décembre 2005 à 16:23 +0100, Gregor Horvath a écrit : > Hi, > > Is there a possibility to format a log message to give the function name > where the log appears? > > Example > > import logging > > def aTestFunction(): > logger.debug("This is a message") > > The log should read: > > aTestFunction This is a message.
You can use the currentframe of the inspect module. For example : >>> import inspect >>> def debug(string): ... frame = inspect.currentframe(1) ... print frame.f_code.co_name, string >>> def a_test_function(): ... debug("This is a message") >>> a_test_function() a_test_function This is a message But please take note that this is not recommended. As stated in the documentation of inspect.currentframe : "[t]his function should be used for internal and specialized purposes only." -- A: Because it messes up the order in which people normally read text. Q: Why is it such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail? -- http://mail.python.org/mailman/listinfo/python-list