PythonWin debugger holds onto global logging objects too long

R

Rob Richardson

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
 
V

Vinay Sajip

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
 
J

Jean-Michel Pichavant

Vinay said:
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
 
M

Mark Hammond

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top