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):
import pybel
ob_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