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

Reply via email to