这是我的代码:
filename
我想将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
还是其他方法?
答案 0 :(得分:0)
找到了解决方案并与他人共享:
使用this源代码:
Log = logging.getLogger('myLogger')
level = logging.getLevelName('INFO')
Log.setLevel(level)
我已经在我的settings.ini文件中设置了我想要的日志级别:
[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)