Python ---- Python3的Logging模块接收命令行中传入的日志级别
入门的话还是看官方文档比较好,我主要是记录官网中当时没看懂的那个部分,如下图;
地址:https://docs.python.org/zh-cn/3/howto/logging.html#logging-to-a-file
上图中的"--log"部分和通过"level"参数....这些我感觉说的不是很清楚,我按照官网这样写的发现会提示找不到loglevel(也可能是我菜,看不懂,所以记录一下)
报错之后发现是我本地没有配置loglevel这个变量,所以这个"getattr"就会报错嘛,最后我改造了一下,用户可以通过指定日志级别方式在命令行中指定,内容如下:
#!/usr/bin/python3 import logging import argparse def _argparse(): parser = argparse.ArgumentParser(description="logging help!") parser.add_argument("--log",action="store") args = parser.parse_args() return args def log(): parser = _argparse() loglevel = parser.log numeric_level = getattr(logging, loglevel.upper(), None) if not isinstance(numeric_level,int): raise ValueError('Invalid log level:{0}'.format(loglevel)) logging.basicConfig(filename="example.log",level=numeric_level) logging.debug('debug message') logging.info('info message') logging.warning('warning message') logging.error('error message') logging.critical('critical message') if __name__ == "__main__": log()
效果图:
本文作者:k-free
本文链接:https://www.cnblogs.com/k-free-bolg/p/12869639.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步