zoukankan      html  css  js  c++  java
  • 007---logging日志模块

    logging模块

    • 用途:服务器运行日志、运维日志...
    import logging
    from logging.handlers import RotatingFileHandler, TimedRotatingFileHandler
    
    # 1.生成logger对象
    logger = logging.getLogger('web')
    logger.setLevel(logging.DEBUG)          # 先设置全局过滤,不然后面的设置debug也是无效的
    
    # 2.生成handler对象
    ch = logging.StreamHandler()            # 输出到屏幕
    fh = logging.FileHandler('web.log')     # 输出到文件
    
    fh1 = RotatingFileHandler('web1.log', maxBytes=100, backupCount=3)
    fh2 = TimedRotatingFileHandler('web2.log', when='S', interval=5)
    
    ch.setLevel(logging.CRITICAL)
    fh.setLevel(logging.ERROR)              # 可对每个handler设置级别,也可以设置全局:默认warning
    fh1.setLevel(logging.DEBUG)
    
    # 2.1把handler对象绑定到logger对象
    logger.addHandler(ch)
    logger.addHandler(fh)
    logger.addHandler(fh1)
    logger.addHandler(fh2)
    
    # 3.生成formatter对象
    file_fmt = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    file1_fmt = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    file2_fmt = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    console_fmt = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(lineno)s - %(message)s')
    
    # 3.1 把formatter绑定到handler对象
    ch.setFormatter(console_fmt)
    fh.setFormatter(file_fmt)
    fh1.setFormatter(file1_fmt)
    fh2.setFormatter(file2_fmt)
    
    logger.debug('test log1')
    logger.info('test_log2')
    logger.warning('test_log3')
    logger.error('test_log4')
    logger.critical('test_log5')
    
    
  • 相关阅读:
    致橡树——舒婷
    MPU6050
    Android自动折行TextView Group
    基于LRU Cache的简单缓存
    如果不能给心以翅膀,她如何飞翔
    ubuntu手机识别
    Webkit JNI
    scrapy入门
    Webkit二:RenderTree 创建
    Webkit一:Dom转码和解析
  • 原文地址:https://www.cnblogs.com/xjmlove/p/10339105.html
Copyright © 2011-2022 走看看