我使用 argparse 从命令行获取日志记录级别,然后将其作为 logging.basicConfig 的输入传递。但是,我尝试实现它的方式不起作用。有什么建议吗?
期望行为,来自命令行:
python main.py -log=DEBUG
欲望输出
DEBUG:__main__: Debug is working
代码
import logging
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-log", "--log", nargs='+', help="Provide logging level. Example --log debug'")
log_level = parser.parse_args().log
log_level = 'logging.'+log_level[0]
print(log_level)
logging.basicConfig(level=log_level)
logger = logging.getLogger(__name__)
logger.debug(' Debug is working')
原文由 Tesla001 发布,翻译遵循 CC BY-SA 4.0 许可协议
basicConfig
函数可以为level
接受一个字符串参数,它会为你检查它的有效性,所以代码可以比 BarryPye 的答案简单得多。