Skip to content Skip to sidebar Skip to footer

How To Disable Logged Warnings In Pybel?

I am using Pybel - a Python wrapper around the OpenBabel API, and I am trying to disable warnings such as these: ============================== *** Open Babel Warning in ParseComp

Solution 1:

You can obtain a handle to the openbabel logger (the class OBMessageHandler) off of the openbabel module. The trick is to first access the openbabel module off of the pybel module, grab the OBMessageHandler class, and instantiate the logger (docs):

importpybelob_log_handler= pybel.ob.OBMessageHandler()

Using the handle, you can set the log_level to 0 to disable all but critical messages (docs):

ob_log_handler.SetOutputLevel(0)

You can use the following enumerations (docs here) to choose your level of logging. The default is 1, which logs all warnings:

  • 0: Critical
  • 1: Warning (default)
  • 2: Info
  • 3: Audit (when molecules are destroyed/perceived)
  • 4: Debug

Solution 2:

The Aelfinn's answer didn't work for me, but accessing SetOutputLevel this way did:

pybel.ob.obErrorLog.SetOutputLevel(0)

Solution 3:

If you want to get rid of all error messages:

pybel.ob.obErrorLog.StopLogging()

Post a Comment for "How To Disable Logged Warnings In Pybel?"