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

    效果图:

  • 相关阅读:
    rpm常见命令使用说明
    终端传值给Makefile、Makefile传值给C++代码
    redis实现异步队列
    redis实现分布式锁
    正则表达式
    nginx安装
    metaq
    zeromq
    ActiveMq
    http压力测试
  • 原文地址:https://www.cnblogs.com/k-free-bolg/p/12869639.html
Copyright © 2020-2023  润新知