zoukankan      html  css  js  c++  java
  • logging模块学习笔记:handler对象

    handler对象有以下几个,常用的为StreamHandler、FileHandler:

    StreamHandler

    FileHandler

    NullHandler

    WatchedFileHandler

    RotatingFilehandler

    TimedRotatingFilehandler

    SocketHandler

    DatagramHandler

    SysLoghandler

    Memoryhandler

    HTTPHandler

    Handler的三个基础操作:

    1、设置输出格式 

       设置输出格式要用到的对象是Formatter,初始化方法

       formater = logging.Formatter(格式)

       handler.setFormatter(formater)

       

     1 import logging
     2 import sys
     3 
     4 l_g = logging.getLogger()
     5 l_g.setLevel(logging.DEBUG)
     6 
     7 s_h = logging.StreamHandler(sys.stderr)
     8 f_h = logging.FileHandler('test.log') #设置文件对象,默认是以追加形式写入
     9 
    10 l_g.addHandler(s_h)
    11 l_g.addHandler(f_h)
    12 formatter = logging.Formatter('%(name)s - %(levelname)s - %(asctime)s - %(message)s') #设置formatter
    13 s_h.setFormatter(formatter)
    14 f_h.setFormatter(formatter)
    15 
    16 l_g.debug('debug msg')
    17 l_g.info('info msg')
    18 l_g.error('error msg')
    19 l_g.warn('warn msg')

    2、设置输出级别

       如上例,文件日志只记录error级别的,

       f_h.setLevel(logging.ERROR)

    3、设置过滤器

      

     1 import logging
     2 import sys
     3 
     4 l_g = logging.getLogger('a.b.c')
     5 l_g.setLevel(logging.DEBUG)
     6 
     7 s_h = logging.StreamHandler(sys.stderr)
     8 f_h = logging.FileHandler('test.log')
     9 
    10 l_g.addHandler(s_h)
    11 l_g.addHandler(f_h)
    12 formatter = logging.Formatter('%(name)s - %(levelname)s - %(asctime)s - %(message)s') #设置formatter
    13 s_h.setFormatter(formatter)
    14 f_h.setFormatter(formatter)
    15 f_h.setLevel(logging.ERROR)
    16 filter=logging.Filter('a.b') #设置过滤器
    17 s_h.addFilter(filter)
    18 l_g.debug('debug msg')
    19 l_g.info('info msg')
    20 l_g.error('error msg')
    21 l_g.warn('warn msg')

    s_h 这个流对象增加了一个过滤器,只有符合的才会输出,如果过滤器改为Filter('a.b.d'),则不会输出

  • 相关阅读:
    剑指offer-二维数组中的查找
    TF-IDF(term frequency–inverse document frequency)
    Java实现中文字符串的排序功能
    当前课程
    【R】资源整理
    CentOS相关
    【转】Setting up SDL Extension Libraries on MinGW
    【转】Setting up SDL Extension Libraries on Visual Studio 2010 Ultimate
    【转】Setting up SDL Extension Libraries on Code::Blocks 12.11
    【转】Setting up SDL Extension Libraries on Visual Studio 2019 Community
  • 原文地址:https://www.cnblogs.com/bjdxy/p/2799525.html
Copyright © 2011-2022 走看看