Birgit Rahm wrote:
Hello newsgroup,

Hello Birgit,

I haven't found any way to do logging in a standard way.

The solution i've implemented is to decorate each method you want to log the call, using the logging module (included in python since 2.3)

For example :

import logging

def loggedmethod(method):
        logger = logging.getLogger('mylogger')
        def _loggedmethod(self, *args, **kw):
                logger.debug('## %s was called ##' % method.func_name)
                return method(self, *args, **kw)
        return _loggedmethod

# imagine A is your corba object
class A:
        def foo(self):
                return 'foo'

        foo = loggedmethod(foo)

if __name__ == '__main__':
        logger = logging.getLogger("mylogger")
        logger.addHandler(logging.StreamHandler())
        logger.setLevel(logging.DEBUG)
        a = A()
        print a.foo()




when running :

bash-2.05b$ python plop.py
## foo was called ##
foo

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to