28 lines
892 B
Python
28 lines
892 B
Python
import logging
|
|
# import warnings
|
|
|
|
|
|
class LgndrException(RuntimeError):
|
|
def __init__(self, message="Error in Legendary"):
|
|
self.message = message
|
|
super(LgndrException, self).__init__(self.message)
|
|
|
|
|
|
class LgndrWarning(RuntimeWarning):
|
|
def __init__(self, message="Warning in Legendary"):
|
|
self.message = message
|
|
super(LgndrWarning, self).__init__(self.message)
|
|
|
|
|
|
# Minimum exception levels per class to get back useful error strings
|
|
# CLI: ERROR
|
|
# Core: CRITICAL (FATAL)
|
|
class LgndrLogHandler(logging.Handler):
|
|
def __init__(self, level=logging.NOTSET):
|
|
super().__init__(level=level)
|
|
|
|
def emit(self, record: logging.LogRecord) -> None:
|
|
if record.levelno >= self.level:
|
|
raise LgndrException(record.getMessage())
|
|
# if self.level > record.levelno >= logging.WARNING:
|
|
# warnings.warn(record.getMessage())
|