Michelle Beard created SENSSOFT-120:

             Summary: Python logging module interferes with other applications 
                 Key: SENSSOFT-120
                 URL: https://issues.apache.org/jira/browse/SENSSOFT-120
             Project: SensSoft
          Issue Type: Bug
          Components: UserALE.PyQt5
    Affects Versions: UserALE.PyQt5 0.1.5
            Reporter: Michelle Beard
            Assignee: Michelle Beard
             Fix For: UserALE.PyQt5 0.1.6

We found a bug in UserALE logging that seems to be a very simple fix. In fact, 
I have attached a modified version of ale.py which I believe addresses the 
The issue arises when UserALE is used to instrument a program which also 
utilizes the python logging module. Since UserALE leverages the 
logging.baseConfig() functionality, it shares the root logger in that module 
with any other part of the program which performs logging. Therefore any 
modifications to the root logger affect output everywhere it is utilized. This 
cropped up in ImageMagickGUI. The real issue is with logging.baseConfig(): if 
any handlers are set up for the root logger prior to a call to baseConfig(), 
the subsequent call is ignored. To prevent this overlap, I created a new logger 
object in ale.py and gave it all the attributes of the original logger. I 
additionally set it to ignore the logger hierarchy in the logging module, so 
that the UserALE output doesn’t propagate to other loggers. Preliminary testing 
suggests that this has rectified the issue without removing functionality or 
introducing features.

This message was sent by Atlassian JIRA

Reply via email to