zoukankan      html  css  js  c++  java
  • logger常用方法

    #!/usr/bin/env python
    # encoding: utf-8  
    # Date: 2018/5/25


    import logging
    from logging import handlers
    # 日志过滤
    class IgnoreBackupLogFilter(logging.Filter):
        '''忽略带db backup的日志'''
        def filter(self, record): # 固定写法
            return 'db backup' in record.getMessage() # True False

    # 1.生成logger对象
    logger = logging.getLogger('web')
    logger.setLevel(logging.DEBUG)

    # 1.1 把filter对象添加到logger中
    logger.addFilter(IgnoreBackupLogFilter())


    # 2.生成handler对象
    ch = logging.StreamHandler()
    ch.setLevel(logging.INFO)
    fh = logging.FileHandler('web.log')
    # 日志切割 10字节 按照大小截取
    # fh = handlers.RotatingFileHandler('web.log', maxBytes=10, backupCount=3)
    # 日志切割 时间 按照时间截取
    # fh = handlers.TimedRotatingFileHandler('web1.log', when='s', interval=5, backupCount=3)
    fh.setLevel(logging.WARNING)

    # 2.1 把handler对象绑定到logger
    logger.addHandler(ch)
    logger.addHandler(fh)

    # 3.生成formatter对象

    # 3.1 把formatter对象绑定handler对象
    file_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    console_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(lineno)d - %(message)s')

    ch.setFormatter(console_formatter)
    fh.setFormatter(file_formatter)

    logger.warning('test warning')
    logger.warning('test warning db backup')
    logger.debug('test log')
    logger.info('test log 2')





  • 相关阅读:
    持续交付11-构建和部署的脚本化
    腾讯云即时通讯IM 公共整合
    腾讯云应用生成 UserSig
    「USACO 2020 US Open Platinum」Exercise
    async要点
    jQuery实现textarea高度根据内容自适应
    背景图片设置透明度而不改变内容
    input type=file实现图片上传,预览以及图片删除
    vant 字体图标不显示问题
    vue项目使用mock.js
  • 原文地址:https://www.cnblogs.com/fmgao-technology/p/9090951.html
Copyright © 2011-2022 走看看