feat(cli): added --debug-level= argument

Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
This commit is contained in:
2025-09-23 00:14:51 +05:00
parent 8e25c04f56
commit 5a2ab36b60
3 changed files with 40 additions and 12 deletions

View File

@@ -1,16 +1,34 @@
import logging
def setup_logger():
def setup_logger(level='NOTSET'):
"""Настройка базовой конфигурации логирования."""
logging.basicConfig(
level=logging.INFO,
format='[%(levelname)s] %(message)s',
handlers=[logging.StreamHandler()]
)
# Clear existing handlers to prevent duplicates
root_logger = logging.getLogger()
for handler in root_logger.handlers[:]:
root_logger.removeHandler(handler)
# Convert string level to logging level constant, map ALL to DEBUG
if level.upper() == 'ALL':
log_level = logging.DEBUG
else:
log_level = getattr(logging, level.upper(), logging.NOTSET)
# Configure logging with null handler if level is NOTSET
if log_level == logging.NOTSET:
logging.basicConfig(
level=logging.NOTSET,
handlers=[logging.NullHandler()]
)
else:
logging.basicConfig(
level=log_level,
format='[%(levelname)s] %(message)s',
handlers=[logging.StreamHandler()]
)
def get_logger(name):
"""Возвращает логгер для указанного модуля."""
return logging.getLogger(name)
# Инициализация логгера при импорте модуля
# Инициализация логгера при импорте модуля (без логов по умолчанию)
setup_logger()