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





  • 相关阅读:
    U盘安装Ubuntu 10.4 Server
    MySQL操作使用
    Fedora17安装MySQL及配置
    笔记:重构
    Java 并发之线程安全
    Java 并发之共享对象
    UTF8 与 UTF16 编码
    matplotlib 初使用
    用 ggplot2 在同一个图上画多条颜色不同的线
    完成情况(一)
  • 原文地址:https://www.cnblogs.com/fmgao-technology/p/9090951.html
Copyright © 2020-2023  润新知