In <02f0123d-2f9e-4287-b983-cfa1db9db...@googlegroups.com> Christian <mining.fa...@gmail.com> writes:
> Hi, > i'm somewhat confused working with @staticmethods. My logger and > configuration methods are called n times, but I have only one call. > n is number of classes which import the loger and configuration class > in the subfolder mymodule. What might be my mistake mistake? > Many thanks > Christian > ### __init__.py ### > from mymodule.MyLogger import MyLogger > from mymodule.MyConfig import MyConfig > ##### my_test.py ########## > from mymodule import MyConfig,MyLogger > #Both methods are static > key,logfile,loglevel = MyConfig().get_config('Logging') > log = MyLogger.set_logger(key,logfile,loglevel) > log.critical(time.time()) > #Output > 2013-05-21 17:20:37,192 - my_test - 17 - CRITICAL - 1369149637.19 > 2013-05-21 17:20:37,192 - my_test - 17 - CRITICAL - 1369149637.19 > 2013-05-21 17:20:37,192 - my_test - 17 - CRITICAL - 1369149637.19 > 2013-05-21 17:20:37,192 - my_test - 17 - CRITICAL - 1369149637.19 You haven't given us the code for your MyLogger class, so it's difficult to say exactly what the problem is. However, I have a guess. Does MyLogger.set_logger() contain a call to addHandler()? Each call to addHandler() adds another handler to your logger, and when you call log.critical() [or any other log function] you get one line of output for each handler. You should only call addHandler() once. -- John Gordon A is for Amy, who fell down the stairs gor...@panix.com B is for Basil, assaulted by bears -- Edward Gorey, "The Gashlycrumb Tinies" -- http://mail.python.org/mailman/listinfo/python-list