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()

效果图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值