python-3.x - 将日志记录级别作为变量传递给 python3 代码?
问题描述
这是我的代码:
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"
还是有其他方法?
解决方案
找到解决方案并与他人分享:
使用此源代码:
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)
推荐阅读
- javascript - 如何在滚动时修复视口中的部分并在内容滚动完成后继续下一个 div?
- php - wordpress中的 HTML 代码在哪里?
- java - 使用 XmlMapper 时出现 UnrecognizedPropertyException
- c# - 我当前的插入语句不起作用
- java - 如何打开受程序保护的 PDF 文件 [不受密码保护]
- elasticsearch - 如果未应用所有过滤器怎么办?在 DOC 中使用 null FIELD VALUE 而非 NULL 值过滤
- python - 使用python替换XML标签值
- python - python中的“名称可以未定义”问题
- r - 如何更改 R 中 ggdag 图的节点颜色?
- r - 如果我训练/测试分成 55% 和 45%,内核就会卡住