37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
"""Модуль для настройки и получения логгера."""
|
||
|
||
import logging
|
||
|
||
|
||
def get_logger(name: str) -> logging.Logger:
|
||
"""Создаёт и настраивает логгер с заданным именем.
|
||
|
||
Настройки логгера:
|
||
- Уровень логирования: DEBUG
|
||
- Формат вывода: время | имя логгера | уровень | сообщение
|
||
- Вывод: в стандартный поток (stdout)
|
||
|
||
Args:
|
||
name (str): Имя логгера. Обычно используется __name__ модуля.
|
||
|
||
Returns:
|
||
logging.Logger: Настроенный экземпляр логгера.
|
||
|
||
Пример использования:
|
||
>>> logger = get_logger(__name__)
|
||
>>> logger.debug("Тестовое сообщение")
|
||
"""
|
||
logger = logging.getLogger(name)
|
||
logger.setLevel(logging.DEBUG)
|
||
|
||
# Настройка обработчика для вывода в консоль
|
||
handler = logging.StreamHandler()
|
||
handler.setLevel(logging.DEBUG)
|
||
|
||
# Формат сообщений: время | имя логгера | уровень | сообщение
|
||
formatter = logging.Formatter('%(asctime)s | %(name)s | %(levelname)s | %(message)s')
|
||
handler.setFormatter(formatter)
|
||
|
||
logger.addHandler(handler)
|
||
|
||
return logger |