zoukankan      html  css  js  c++  java
  • 11-21 logging 模块

      默认情况下Python的logging模块将日志打印到了标准输出中,且只显示了大于等于WARNING级别的日志,

    这说明默认的日志级别设置为WARNING(日志级别等级CRITICAL > ERROR > WARNING > INFO > DEBUG),

    默认的日志格式为日志级别:Logger名称:用户输出消息。

    函数式简单配置

    import logging
    logging.basicConfig(level=logging.DEBUG,
                        format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
                        datefmt='%a, %d %b %Y %H:%M:%S',
                        filename='test.log',
                        filemode='w')
    logging.debug('debug message')    #低级别  #拍错信息
    logging.info('info message')      #正常信息
    logging.warning('warning message')#警告信息
    logging.error('error message')    #错误信息
    logging.critical('critical message')#高级别的 #严重错误信息
    try:
        int(input('num>>>'))
    except ValueError:
        logging.error('输入的值类型不对!')
    
    basicconfig:简单,但能解决的事情相对较少
    不能解决中文乱码问题
    不能同时在文件和屏幕上输出

    此时解决了中文乱码问题,也可同时在文件和屏幕上输出---程序的充分解耦,让程序变的高可定制

    import logging
    #创建一个logger对象
    logger = logging.getLogger()
    fh = logging.FileHandler('log.log',encoding='utf-8')
    #创建一个屏幕打印对象
    sh = logging.StreamHandler()
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    formatter2 = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - [line:%(lineno)d] - %(message)s')
    #文件操作符 和 格式关联
    fh.setFormatter(formatter)
    sh.setFormatter(formatter2)
    #logger对象 和 文件操作符关联
    logger.addHandler(fh)
    logger.addHandler(sh)
    logging.debug('debug message')
    logging.info('info message')
    logging.warning('警告信息')
    logging.error('error message')
    logging.critical('critical message')
    

    总结:

    有5种级别的日志记录模式:debug、info、warning、error、critical
    2种配置方式:basicconfig、log对象

     

     

  • 相关阅读:
    visual studio 2010的安装
    安装操作系统的过程图解
    教育法学第八章单元测试MOOC
    教育法学第七章单元测试MOOC
    教育法学第六章单元测试MOOC
    教育法学第四章单元测试MOOC
    教育法学第三章单元测试MOOC
    教育法学第一章单元测试MOOC
    教育法学-第二章单元测验mooc
    单元测验4:人格知识大比武2mooc
  • 原文地址:https://www.cnblogs.com/Cheryol/p/9995580.html
Copyright © 2011-2022 走看看