I noticed that in mylogger.py, when init_logger() is called, it removes all existing handlers from the root logger (source). However, this means that when pybdsf is called from a scripting context, it deletes all of the existing logging handlers set up by the calling code, completely eliminating all non-pybdsf logging logic. This is very unexpected and definitely should not happen. I think it would be helpful to assign constant names to the pybdsf-specific logging handlers and only remove those named handlers from the root logger in init_logger() rather than all of them.
I noticed that in
mylogger.py, wheninit_logger()is called, it removes all existing handlers from the root logger (source). However, this means that when pybdsf is called from a scripting context, it deletes all of the existing logging handlers set up by the calling code, completely eliminating all non-pybdsf logging logic. This is very unexpected and definitely should not happen. I think it would be helpful to assign constant names to the pybdsf-specific logging handlers and only remove those named handlers from the root logger ininit_logger()rather than all of them.