Michelle Beard updated SENSSOFT-120:
    Fix Version/s: UserALE.PyQt5 0.1.5

> Python logging module interferes with other applications logging
> ----------------------------------------------------------------
>                 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.5, UserALE.PyQt5 0.1.6
>   Original Estimate: 1h
>  Remaining Estimate: 1h
> 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 issue.
> 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