logging 模块的简单应用:
import logging #导入模块
class Log: #做一个简单的封装用于打印日志
def __init__(self, name, path):
self.logger = logging.getLogger(name)
self.handle = logging.FileHandler(path)
self.handle.setFormatter(logging.Formatter())
self.logger.setLevel(logging.INFO)
self.logger.addHandler(self.handle)
def write_log(self, log_str):
self.logger.info(log_str)
def __del__(self):
self.logger.removeHandlendlr(self.handle)
self.handle.close()
上边的实例只是对logging模块做了一个很简单的封装(涉及到具体业务的时候这种方法可能过于简单粗暴,这里只做示例)
调用logging模块打印日志的主要流程:
通过getLogger(name)获取logger,如果不指定name则为默认情况
设置Handler #日志输出流
为Handler设置Formatter #日志输出格式
设置日志级别
为logger添加Handler
通过logger的infor,warn等方法写日志
注意:有时候可能会发现用logger打印一条日志会在日志文件里出现多条的情况,这里需要说明在打印日志完毕之后,需要给logger移除Handler,移除之后关闭handle