日志收集器的级别:
NOSET:相当于没有写
DEBUG:调式,logging.debug('这是一个debug信息')
INFO:主体功能信息,logging.info('这是一个主体功能信息')
WARNING:警告,logging.warning('这是一个警告信息')
ERROR:错误,logging.error('出错了')
CRITICAL:崩溃,logging.critical('崩溃了')
收集日志的完整流程:
1、初始化日志收集器:logger = logging.getLogger('name')
2、设置日志收集器的级别:logger.setLevel('level')
3、将日志放入文件中:handler = logging.FileHandler('filename')
4、在logger中添加handler:logger.addHandler(handler)
5、设置日志处理器的级别:handler.setLevel('level')
6、设置日志的格式:
fmt = logging.Formatter('%(lineno)d-%(name)s-%(levelname)s-%(message)s')
7、对handler对象绑定格式:handler.setFormatter(fmt)
封装如下:
import logging
class LoggerFile(logging.Logger):
def __init__(self, filepath=None, name='root', level='ERROR',
fmt='%(filename)s-%(lineno)d-%(name)s-%(levelname)s-%(message)s'
):
super(LoggerFile, self).__init__(name)
self.setLevel(level)
if filepath != None:
handler = logging.FileHandler(filepath, encoding='utf-8')
else:
handler = logging.StreamHandler()
self.addHandler(handler)
handler.setLevel(level)
fmt = logging.Formatter(fmt)
handler.setFormatter(fmt)
if __name__ == '__main__':
logger = LoggerFile()
logger.error('这是一个error错误')