SynBioDex / sbol_factory

The SBOLFactory provides a mechanism for automatically generating an interactive, object-oriented API from a declarative data model specification encoded in OWL.
MIT License
6 stars 3 forks source link

logging permanently disabled in SBOLFactory() #77

Open jharwell opened 1 year ago

jharwell commented 1 year ago

Unless invoked with verbose=True, the SBOLFactory() class permanently disables INFO,DEBUG logging after it is called, which means that anything using it can't use logging unless it does : logging.disable(logging.NOTSET) first. This either needs to be documented, or (much better) fixed. I see 3 potential fixes:

  1. Add the logging.disable(logging.NOTSET) at the end of the __new__() function to restore previous state
  2. Remove the logging.disable(logging.INFO) at the start of __new__() and instead change the level of all handles attached to LOGGER to be ERROR rather than INFO. This would serve the same purpose: disable status messages printed as the factory runs.
  3. Change all the INFO messages to be DEBUG so they do not print when the level is set to INFO (which is what most applications set it at).