• logging模块的基本使用


    logging模块的基本使用

    1. 日志的级别

    日志级别的显示等级:DEBUT < INFO < WARNING < ERROR < CRITICAL

    1. DEBUG: 调试信息,通常在诊断问题的时候用得着
    2. INFO: 普通信息,确认程序按照预期运行
    3. ​ WARNIG: 警告信息,表示发生意想不到的事情,或者指示接下来可能会出现一些问题,但是程序还是继续运行
    4. ​ ERROR: 错误信息,程序运行中出现了一些问题,程序某些功能不能执行
    5. ​ CRITICAL: 危险信息,一个严重的错误,导致程序无法继续运行

    2. formatter格式

    1. %(asctime)s 日志事件发生的时间
    2. %(levelname)s 该日志记录的日志级别
    3. %(message)s 日志记录的文本内容
    4. %(name)s 所使用的日志器名称,默认是 'root'
    5. %(pathname)s 调用日志记录函数的文件的全路径
    6. %(filename)s 调用日志记录函数的文件
    7. %(funcName)s 调用日志记录函数的函数名
    8. %(lineno)d 调用日志记录函数的代码所在的行号

    3. 例子,使用代码实现(python)

    import logging
    
    1. 认识日志级别, 及默认级别
    logging.basicConfig(level=logging.DEBUG)   # 通过logging.basicConfig(), 对level参数进行配置,可以设置最低能够显示的日志级别
    a = '调试debug'
    logging.debug(a)
    b = 'info信息'
    logging.info(b)
    
    c = 'warning警告'  # 默认能够输出信息的最低等级
    logging.warning(c)
    d = 'error 出错'
    logging.error(d)
    e = 'critical危险信息'
    logging.critical(e)
    # 以上代码的输出信息为:   # 所以说默认的最低等级是: warning
    """
    WARNING:root:warning警告
    ERROR:root:error 出错
    CRITICAL:root:critical危险信息"""
    
    
    # 2. logging.basicConfig()   # 对logger进行配置, 只需要配置一次,如果配置了多次,那么只有第一个会生效
    logging.basicConfig(
        # level  配置最低显示的日志等级
        level=logging.INFO,
        # format 配置日志的输出格式
        format='时间: %(asctime)s, 日志级别: %(levelname)s, 文本内容: %(message)s, 日志器: %(name)s, 文件: %(filename)s, 文件路径: %(pathname)s, 处理函数名: %(funcName)s, 行号: %(lineno)s 
    ',
        # filename 把日志信息保存到一个文件中去
        filename='mylog.log',
        # filemode  以什么模式保存到文件中
        filemode='a'     # a 追加
    )
    logging.debug('debug调试')
    logging.info('info信息')
    logging.warning('warning警告信息')
    logging.error('error错误')
    logging.critical('critical危险信息')
    

    2. 模块化组件的使用

    import logging
    
    # 1. 创建logger对象
    logger = logging.getLogger('mylog')
    
    # 2. 创建处理器对象, 输出到什么什么地方
    stream_handler = logging.StreamHandler()   # 控制台 (控制台处理器对象)     # logging.FileHandler('mylog.log')  # 文件处理器对象
    # stream_handler.setLevel(logging.ERROR)   # 设置显示等级,  (注意: 最低的显示等级为warning, 即使用设置更低的显示等级也不会起作用, 也只会显示warning及更高的显示等级)
    file_handler = logging.FileHandler('mylog.log')  # 文件, 输出到mylog.log这个文件中,  文件处理器
    
    # 3. 配置日志的输出格式
    formatter = logging.Formatter('时间: %(asctime)s, 日志等级: %(levelname)s, 文本内容: %(message)s, 日志器: %(name)s, 文件名: %(filename)s, 文件路径: %(pathname)s, 处理函数名: %(funcName)s, 行号: %(lineno)d')
    
    # 4. 将处理器对象与日志格式进行绑定, 即设置logger日志的输出格式
    stream_handler.setFormatter(formatter)
    
    # 5. 将处理器对象添加(或绑定)到logger对象中去
    logger.addHandler(stream_handler)
    
    # 6. 使用
    if __name__ == '__main__':
        logger.debug('debug调试')
        logger.info('info信息')
        logger.warning('warning警告信息')
        logger.error('error错误')
        logger.critical('critical危险信息')
    
    
    
  • 相关阅读:
    【Java8新特性】你知道Java8为什么要引入Lambda表达式吗?
    你说你懂计算机网络,那这些你都知道吗
    程序员需要了解的硬核知识之控制硬件
    程序员需要了解的硬核知识之汇编语言(全)
    真的,Kafka 入门一篇文章就够了
    程序员需要了解的硬核知识之汇编语言(一)
    带你涨姿势的认识一下 Kafka 消费者
    程序员需要了解的硬核知识之操作系统和应用
    详解Kafka Producer
    程序员需要了解的硬核知识之操作系统入门
  • 原文地址:https://www.cnblogs.com/nichengshishaonian/p/11545652.html
Copyright © 2020-2023  润新知