создана часть бекенда
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
import logging
|
||||
import logging.config
|
||||
import json
|
||||
|
||||
|
||||
class SmartLogger(logging.Logger):
|
||||
def _log(self, level, msg, args, exc_info=None, extra=None, stack_info=False, stacklevel=2):
|
||||
# Увеличиваем stacklevel до 2, чтобы показать реального вызывающего
|
||||
if isinstance(msg, (dict, list)):
|
||||
msg = json.dumps(msg, indent=4, ensure_ascii=False)
|
||||
super()._log(level, msg, args, exc_info, extra, stack_info, stacklevel)
|
||||
|
||||
|
||||
logging.setLoggerClass(SmartLogger)
|
||||
logging.config.fileConfig("config/log.ini")
|
||||
|
||||
logger = logging.getLogger("toolbox")
|
||||
|
||||
def setLogLevel(level: str = ""):
|
||||
match level:
|
||||
case "DEBUG":
|
||||
loggerLevel = logging.DEBUG
|
||||
case "WARNING":
|
||||
loggerLevel = logging.WARNING
|
||||
case "ERROR":
|
||||
loggerLevel = logging.ERROR
|
||||
case _:
|
||||
loggerLevel = logging.INFO
|
||||
|
||||
root_logger = logging.getLogger()
|
||||
for handler in root_logger.handlers:
|
||||
handler.setLevel(loggerLevel)
|
||||
|
||||
# Также меняем уровень самого логгера
|
||||
logger.setLevel(loggerLevel)
|
||||
Reference in New Issue
Block a user