入门的话还是看官方文档比较好,我主要是记录官网中当时没看懂的那个部分,如下图;
地址: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()
效果图: