logging = logging.getLogger(__name__)

Mark Lawrence breamoreboy at yahoo.co.uk
Tue Jun 15 12:24:18 EDT 2010


On 15/06/2010 17:03, genkuro wrote:
> On Jun 15, 8:49 am, Mark Lawrence<breamore... at yahoo.co.uk>  wrote:
>> On 15/06/2010 16:35, 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__)
>>
>>> 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.
>>
>>> Thanks,
>>> Brian
>>
>> Change it to something like logger = logging.getLogger(__name__), then
>> logger.addHandler(x).  If you don't do this, your logging shadows the
>> logging module so you won't get very far.
>>
>> HTH.
>>
>> Mark Lawrence
>
> Hi Mark -
>
> I thought that would be the answer.
>
> I asked because I'm working with a framework where logging is
> similarly renamed in almost every file.  The framework is under
> development so refactoring is an option.
>
> I'm coming to Python from Java.  I'm still getting a feel for scoping
> limits.  For the sake of curiosity, is there another way to refer to a
> package besides name?
>
> Thanks,
> Brian
>

Peter Otten has already pointed out that you can use import logging as 
x, but I don't see the need for it in this instance.  Paul Rudin has 
agreed with me, i.e. just use logger, so why not refactor your code now, 
I think that you'll appeciate it in the long term.

Cheers.

Mark Lawrence.




More information about the Python-list mailing list