exc_info, func, extra, sinfo)
# 运用handler处置日志
self.handle(record)
日志记载的消费,就是创立一个LogRecord对象:
_logRecordFactory = LogRecord
def makeRecord(self, name, level, fn, lno, msg, args, exc_info,
func=None, extra=None, sinfo=None):
...
rv = _logRecordFactory(name, level, fn, lno, msg, args, exc_info, func,
sinfo)
...
return rv
运用logger对象的一切handler处置日志:
def handle(self, record):
c = self
found = 0
while c:
for hdlr in c.handlers: # 运用一切的handler处置日志
found = found + 1
if record.levelno >= hdlr.level:
hdlr.handle(record)
root-logger的handler是在config中配置的:
def basicConfig(**kwargs):
...
root.addHandler(h) # 设置root的handler
日志记载对象 LogRecord日志记载对象十分复杂:
class LogRecord(object):
def __init__(self, name, level, pathname, lineno,
(责任编辑:admin)