Source code for mspasspy.util.error_logger
from mspasspy.ccore.utility import ErrorLogger
import inspect
[docs]
class PyErrorLogger(ErrorLogger):
[docs]
def msgErrorLog(self, message, err):
callerFrame = inspect.stack()[2][0]
methodName = callerFrame.f_code.co_name
if "self" in callerFrame.f_locals:
className = callerFrame.f_locals["self"].__class__.__name__
methodName = className + "." + methodName
return super().log_error(methodName, message, err)
[docs]
def log_error(self, *args, **kwargs):
if len(args) == 1:
return super().log_error(*args, **kwargs)
elif len(args) == 2: # In this case, we want to use the new interface
return self.msgErrorLog(*args, **kwargs)
elif len(args) == 3:
return super().log_error(*args, **kwargs)
else:
raise SyntaxError("log_error only takes 1/2/3 arguments")