Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Python: Python

PythonWin debugger holds onto global logging objects too long

 

 

Python python RSS feed   Index | Next | Previous | View Threaded


RDRichardson at rad-con

Jan 24, 2012, 6:52 AM

Post #1 of 4 (82 views)
Permalink
PythonWin debugger holds onto global logging objects too long

I use PythonWin to debug the Python scripts we write. Our scripts often use the log2py logging package. When running the scripts inside the debugger, we seem to get one logging object for every time we run the script. The result is that after running the script five times, the log file contains five copies of every message. The only way I know to clean this up and get only a single copy of each message is to close PythonWin and restart it.

What do I have to do in my scripts to clean up the logging objects so that I never get more than one copy of each message in my log files?

Thank you very much!

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


vinay_sajip at yahoo

Feb 4, 2012, 9:09 AM

Post #2 of 4 (62 views)
Permalink
Re: PythonWin debugger holds onto global logging objects too long [In reply to]

On Jan 24, 2:52 pm, Rob Richardson <RDRichard...@rad-con.com> wrote:
> I use PythonWin to debug the Python scripts we write.  Our scripts often use the log2pyloggingpackage.  When running the scripts inside the debugger, we seem to get oneloggingobject for every time we run the script.  The result is that after running the script five times, the log file contains five copies of every message.  The only way I know to clean this up and get only a single copy of each message is to close PythonWin and restart it.
>
> What do I have to do in my scripts to clean up theloggingobjects so that I never get more than one copy of each message in my log files?
>

I don't know what log2py is - Google didn't show up anything that
looked relevant. If you're talking about the logging package in the
Python standard library, I may be able to help: but a simple script
that I ran in PythonWin didn't show any problems, so you'll probably
need to post a short script which demonstrates the problem when run in
PythonWin.

Regards,

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


jeanmichel at sequans

Feb 7, 2012, 2:48 AM

Post #3 of 4 (62 views)
Permalink
Re: PythonWin debugger holds onto global logging objects too long [In reply to]

Vinay Sajip wrote:
> On Jan 24, 2:52 pm, Rob Richardson <RDRichard...@rad-con.com> wrote:
>
>> I use PythonWin to debug the Python scripts we write. Our scripts often use the log2pyloggingpackage. When running the scripts inside the debugger, we seem to get oneloggingobject for every time we run the script. The result is that after running the script five times, the log file contains five copies of every message. The only way I know to clean this up and get only a single copy of each message is to close PythonWin and restart it.
>>
>> What do I have to do in my scripts to clean up theloggingobjects so that I never get more than one copy of each message in my log files?
>>
>>
>
> I don't know what log2py is - Google didn't show up anything that
> looked relevant. If you're talking about the logging package in the
> Python standard library, I may be able to help: but a simple script
> that I ran in PythonWin didn't show any problems, so you'll probably
> need to post a short script which demonstrates the problem when run in
> PythonWin.
>
> Regards,
>
> Vinay Sajip
>
Same here, can't find anything about log2py.
Anyway it's possible that your pythonwin does not spawn a clean python
interpreter for every run, keeping the same one.

So you could possibly keep adding log handlers to your loggers because
they may be static objects (like for the standard logging module).
One solution would be to empty your logger handler list before adding any.

I'm just guessing though, difficult to know without any info on log2py.

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


skippy.hammond at gmail

Feb 7, 2012, 3:04 PM

Post #4 of 4 (62 views)
Permalink
Re: PythonWin debugger holds onto global logging objects too long [In reply to]

On 7/02/2012 9:48 PM, Jean-Michel Pichavant wrote:
> Vinay Sajip wrote:
>> On Jan 24, 2:52 pm, Rob Richardson <RDRichard...@rad-con.com> wrote:
>>> I use PythonWin to debug the Python scripts we write. Our scripts
>>> often use the log2pyloggingpackage. When running the scripts inside
>>> the debugger, we seem to get oneloggingobject for every time we run
>>> the script. The result is that after running the script five times,
>>> the log file contains five copies of every message. The only way I
>>> know to clean this up and get only a single copy of each message is
>>> to close PythonWin and restart it.
>>>
>>> What do I have to do in my scripts to clean up theloggingobjects so
>>> that I never get more than one copy of each message in my log files?
>>>
>>
>> I don't know what log2py is - Google didn't show up anything that
>> looked relevant. If you're talking about the logging package in the
>> Python standard library, I may be able to help: but a simple script
>> that I ran in PythonWin didn't show any problems, so you'll probably
>> need to post a short script which demonstrates the problem when run in
>> PythonWin.
>>
>> Regards,
>>
>> Vinay Sajip
> Same here, can't find anything about log2py.
> Anyway it's possible that your pythonwin does not spawn a clean python
> interpreter for every run, keeping the same one.

That is what everyone's pythonwin does :) It always works "in process"
- not ideal, but also likely to not change.

Cheers,

Mark

>
> So you could possibly keep adding log handlers to your loggers because
> they may be static objects (like for the standard logging module).
> One solution would be to empty your logger handler list before adding any.
>
> I'm just guessing though, difficult to know without any info on log2py.
>
> JM

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

Python python RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.