logging = logging.getLogger(__name__)

Peter Otten __peter__ at web.de
Tue Jun 15 11:54:10 EDT 2010


genkuro wrote:

> Newbie here.  I may be missing something obvious, in which case,
> please feel free to berate and laugh at me.
> 
> Here's a dubious line of code:
> logging = logging.getLogger(__name__)

Dubious indeed. As a workaround you can import the module again, preferably 
under another name:

import logging as real_logging_module

You can think of

import logging

as a shortcut for

logging = __import__("logging")

and of

import logging as x

as a shortcut for

x = __import__("logging")
 
> How can I refer to the original logging package "logging" after this
> statement is run?  Specifically, I'm trying to add a log handler with
> logging.addHandler(x) and it is of course failing.

Hmm, this shouldn't fail, as there is a Logger.addHandler() method whereas 
the logging module doesn't contain an addHandler() function:

>>> import logging
>>> logging.addHandler
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'addHandler'
>>> logging.getLogger().addHandler
<bound method RootLogger.addHandler of <logging.RootLogger instance at 
0x7f06bdc71a28>>

Peter



More information about the Python-list mailing list