Подтвердить что ты не робот

Запись в Python.DEBUG не регистрирует

У меня проблема с python logging lib. С помощью кода ниже я создаю "регистратор":

logger = logging.getLogger()
def logger_init(level):
    try:
        syslog = SysLogHandler(address=LOG_DESTINATION)
    except Exception, ex:
        return
    formatter = logging.Formatter('%(module)s[%(process)d]: %(message)s')
    syslog.setFormatter(formatter)
    syslog.setLevel(level)
    logger.addHandler(syslog)

И я называю это так:

logger.debug(SOME_STR_TO_BE_LOGGED)

ИЛИ вроде:

logger.error(SOME_STR_TO_BE_LOGGED)

И я инициализирую регистратор с помощью

log_level = logging.ERROR
if options.DEBUG_LOG: ####  This comes from options parser and it is True.
    log_level = logging.DEBUG
logger_init(log_level)

Проблема в том, что error и warn работают очень хорошо, но ни методы info, ни debug ничего не печатают в syslog.

Я использую syslog-ng, и я разработал свой фильтр, то есть он будет принимать каждый уровень от debug до emerg.

В чем проблема? Любые идеи?

4b9b3361

Ответ 1

Вы также должны установить уровень регистратора, а не только обработчик.

Добавьте это в свой logger_init:

logger.setLevel(level)