Передать уровень ведения журнала как переменную в python3 код? - PullRequest
0 голосов
/ 02 февраля 2020

Вот мой код:

import logging
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")

def setup_logger(name, log_file, level=logging.INFO):
    # To setup as many loggers as you want

    handler = logging.FileHandler(log_file)        
    handler.setFormatter(formatter)

    logger = logging.getLogger(name)
    logger.setLevel(level)
    logger.addHandler(handler)

    return logger

# Application Log:

app_log = setup_logger("app", "app.log", logging.DEBUG)

# Usage Log:

usage_log = setup_logger("usage", "usage.log", logging.DEBUG)

Я хочу передать уровень logging.DEBUG как переменную из файла settings.ini.

Пожалуйста, объясните мне, как я могу передать его как переменную ?

Должен ли я сделать это как строку "logging.INFO" или есть какой-либо другой метод?

1 Ответ

0 голосов
/ 02 февраля 2020

Нашел решение и поделился с другими:

Используя этот исходный код:

Log = logging.getLogger('myLogger')
level = logging.getLevelName('INFO')
Log.setLevel(level)

Я установил в своем файле settings.ini уровень журнала I хочу:

[Logging]
log_level = DEBUG

и изменить код:

# Read settings.ini file

config = configparser.ConfigParser()
config.read(dir_path + "/settings.ini")

# Logging

formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")

log_level = config.get("Logging", "log_level")

def setup_logger(name, log_file, level_name = 'INFO'):
    # To setup as many loggers as you want

    handler = logging.FileHandler(log_file)        
    handler.setFormatter(formatter)

    logger = logging.getLogger(name)
    level = logging.getLevelName(level_name)
    logger.setLevel(level)
    logger.addHandler(handler)

    return logger

# Application Log:

app_log = setup_logger("app", "app.log", log_level)

# Usage Log:

usage_log = setup_logger("usage", "usage.log", log_level)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...