0

When using the python logger, my program starts fine with logging but at some point the log output starts outputting lines twice, looking like this:

DEBUG:pluginbrowser:Scanning plugs
DEBUG:pluginbrowser:Doing good stuff
....
INFO:pluginbrowser:=== doing something ===
=== doing something ===

Currently all my python files contain the line

LOGGER = logging.getLogger(__name__)
LOGGER.setLevel(logging.DEBUG)

Thus, the doubled message comes from the pluginbrowser.py file. Examining this, I found out that at the beginning of my program, the same files output some log without double-ing the lines. I tried to find out at which point exactly it happens but I am somehow stuck here.

I also read log messages appearing twice with Python Logging but I am not using configure_logging at all.

maze
  • 789
  • 1
  • 7
  • 31

1 Answers1

0

Looks like you add an additional handler somewhere along the way. I would search for addHandler in the code. You could also debug and watch logger.root.handlers

This is how I could reproduce your effects:

In [1]: import logging

In [2]: logging.basicConfig(level=logging.DEBUG)

In [3]: logger = logging.getLogger('pluginbrowser')

In [4]: logger.info('=== doing something ===')
INFO:pluginbrowser:=== doing something ===

In [5]: logging.root.addHandler(logging.StreamHandler())

In [6]: logger.info('=== doing something ===')
INFO:pluginbrowser:=== doing something ===
=== doing something ===
paul
  • 408
  • 2
  • 8