Как выбрать уровень журнала во время выполнения с помощью python logger - PullRequest
0 голосов
/ 28 мая 2020

Я изучаю модуль регистрации python и обнаружил, что он имеет несколько функций. Наряду с ними мне просто интересно, могу ли я динамически выбирать уровень журнала, как показано ниже

import logging
logger = logging.getLogger(__name__)

def log_banner(logger, message, log_level='info'):
    getattr(logger, log_level)('*'*100)
    getattr(logger, log_level)(message.center(100))
    getattr(logger, log_level)('*'*100)

log_banner(logger, 'info message')
log_banner(logger, 'warning message', 'warning')

Я просто хочу избежать передачи log_level как простой строки. Есть ли лучший (более pythoni c) способ сделать это?

1 Ответ

0 голосов
/ 28 мая 2020

Вы можете сделать это просто следующим образом:

import logging
logger = logging.getlogger(__name__)

logger.debug("a debugging message")
logger.info("a msg with level info")
logger.warning("a warning msg")

logger.error("error occurred, traceback: ") и logger.exception(error occurred, traceback: ) регистрирует сообщение вместе с отслеживанием произошедшей ошибки.

Кроме того, вы можете изначально установите уровень ведения журнала, используя logger.setLevel(String), где String может быть 'DEBUG', 'INFO', 'WARNING', 'EXCEPTION', и 'ERROR'. Вы можете увидеть подробную документацию здесь: Python Ведение журнала

...