码迷,mamicode.com
首页 > 编程语言 > 详细

python之logging模块2

时间:2017-03-19 22:06:00      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:function   添加   对象   time   bsp   线程锁   man   资源   适用于   

四、 Handler对象、Formatter对象、Filter对象、Filter对象

这里简要介绍

 

#coding=utf8
‘‘‘
Created on 2013年9月23日
Function : Handler对象、Formatter对象、Filter对象、Filter对象
@author : BeginMan
‘‘‘
import logging
import os
‘‘‘Logger‘‘‘
l = logging.Logger(‘root‘)          #创建Logger对象
log = logging.getLogger(‘root‘)     #通过logging.getLogger创建Logger对象
print l                             #<logging.Logger object at 0x0000000001DF5B70>
print log                           #<logging.Logger object at 0x00000000022A16D8>
 
‘‘‘Handler‘‘‘
handler = logging.Handler()         #创建Handler对象
handler.__init__(logging.DEBUG)     #通过设置level来初始化Handler实例
handler.createLock()                #初始化一个线程锁可以用来序列化访问底层I / O功能,这可能不是线程安全的。
handler.acquire()                   #获取线程锁通过handler.createLock()
handler.release()                   #释放线程锁通过获取handler.acquire()
handler.setLevel(logging.DEBUG)     #设置临界值,如果Logging信息级别小于它则被忽视,当一个handler对象被创建,级别没有被设置,导致所有的信息会被处理。
handler.setFormatter("%(levelname)s,%(message)s")              #设置格式
# handler.addFilter(filter)         #添加指定的过滤器
# handler.removeFilter(filter)      #移除指定的过滤器
# handler.filter(record)            #通过设置过滤器适用于记录并返回真值如果要处理的记录
handler.flush()                     #确保所有的日志输出已经被刷新
handler.close()                     #收拾任何所使用资源处理程序,
# handler.handle(record)            #有条件地发出指定的日志记录,这取决于过滤器可能被添加到处理程序。
# handler.handlerError(record)      #处理错误
# handler.format(record)            #格式输出
# handler.emit(record)
 
#Formatter:http://docs.python.org/2.7/library/logging.html#logging.Formatter
 
‘‘‘Formatter:
the base Formatter allows a formatter string to be specified,is none ,used default value ‘%(message)s‘
class logging.Formatter(fmt=None,datefmt=None)
If no fmt is specified, ‘%(message)s‘ is used. If no datefmt is specified, the ISO8601 date format is used.
‘‘‘
fm = logging.Formatter(‘%(levelname)s:%(message)s‘,‘%m/%d/%Y %I:%M:%S %p‘)
print fm        #<logging.Formatter object at 0x0000000002311828>
#有如下方法:format()、formatTime()、formatException()
 
#http://docs.python.org/2.7/library/logging.html#formatter-objects
 
‘‘‘Filter‘‘‘
‘‘‘
class logging.Filter(name=‘‘):
    返回Filter实例,If name is specified, it names a logger which, together with its children, 
  will have its events allowed through the filter. If name is the empty string, allows every event.
用于Loggers、Handlers等过滤的设置
如果一个过滤器初始化为‘A.B‘,则允许‘A.B/A.B.C/A.B.C.D/A.B.D‘等,但不允许‘A.BB/B.A‘等通过
如果初始化为空字符串,则没有过滤。
它有filter()方法
‘‘‘
 
‘‘‘LogRecord ‘‘‘
‘‘‘class logging.LogRecord(name, level, pathname, lineno, msg, args, exc_info, func=None)
LogRecord 实例可以被Logger自动创建.也可以通过makeLogRecord()来创建‘‘‘
#http://docs.python.org/2.7/library/logging.html#logrecord-objects

python之logging模块2

标签:function   添加   对象   time   bsp   线程锁   man   资源   适用于   

原文地址:http://www.cnblogs.com/BigFishFly/p/6580838.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!