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()
效果图: