0.1.5s
This commit is contained in:
+22
-16
@@ -1,28 +1,34 @@
|
||||
import sys
|
||||
import logging
|
||||
|
||||
class Logger:
|
||||
def __init__(self):
|
||||
self.logger_file = logging.getLogger(__name__)
|
||||
self.logger_cli = logging.getLogger(__name__)
|
||||
self.logger = logging.getLogger(__name__)
|
||||
self.logger.setLevel(logging.DEBUG)
|
||||
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
|
||||
|
||||
file_handler = logging.FileHandler("logs.log", encoding="utf-8")
|
||||
file_handler.setLevel(logging.DEBUG)
|
||||
file_handler.setFormatter(formatter)
|
||||
|
||||
console_handler = logging.StreamHandler()
|
||||
console_handler.setLevel(logging.DEBUG)
|
||||
console_handler.setFormatter(formatter)
|
||||
|
||||
self.logger_file.setLevel(logging.DEBUG)
|
||||
self.logger_file.addHandler(file_handler)
|
||||
|
||||
self.logger_cli.setLevel(logging.INFO)
|
||||
self.logger_cli.addHandler(console_handler)
|
||||
|
||||
def send(self, level_log: str, type_log: str, message: str):
|
||||
if type_log == "file":
|
||||
getattr(self.logger_file, level_log)(message)
|
||||
elif type_log == "cli":
|
||||
getattr(self.logger_cli, level_log)(message)
|
||||
else:
|
||||
getattr(self.logger_file, level_log)(message)
|
||||
getattr(self.logger_cli, level_log)(message)
|
||||
self.logger.addHandler(file_handler)
|
||||
self.logger.addHandler(console_handler)
|
||||
|
||||
def init_global_exception_hook(self):
|
||||
def handle_exception(exc_type, exc_value, exc_traceback):
|
||||
if issubclass(exc_type, KeyboardInterrupt):
|
||||
sys.__excepthook__(
|
||||
exc_type,
|
||||
exc_value,
|
||||
exc_traceback
|
||||
)
|
||||
return
|
||||
self.logger.critical("ERROR:", exc_info=(exc_type, exc_value, exc_traceback))
|
||||
sys.excepthook = handle_exception
|
||||
|
||||
def send(self, level_log: str, message: str):
|
||||
getattr(self.logger, level_log)(message)
|
||||
Reference in New Issue
Block a user