loging模块采用了模块化设计,主要包含四种组件:
Loggers:记录器,提供应用程序代码能直接使用的接口;
Handlers:处理器,将记录器产生的日志发送至目的地;
Filters:过滤器,提供更好的粒度控制,决定哪些日志会被输出;
Formatters:格式化器,设置日志内容的组成结构和消息字段
loggers 记录器
1、提供应用程序的调用接口
logger = logging.getLogger(name)
logger是单例的
2、决定日志记录的级别
logger.setLevel()
3、将日志内容传送到相关的handlers中
logger.addHandler() 和 logger.removeHandler()
Handlers 处理器
它们将日志分发到不同的目的地。可以是文件、标准输出、邮件、或者通过socke、http等协议发动到任何地方。
StreamHandler
标准输出stdout(如显示器)分发器。
创建方法:sh = logging.SstramHandler(stream=None)
FileHandler
将日志保存到磁盘文件的处理器
创建方法: fh = logging.FileHandler(filename,mode=”a”,encoding=None,delay=False)
setFormatter(): 设置当前Handler对象的消息格式。
Formatters 格式
Formatter对象用来最终设置日志信息的顺序、结构和内容。
其构造方法为 ft = logging.Formatter.init(fmt=None,datefmt=None,style=’%’)
datefmt默认是%Y-%m-%d %H:%M:%S 样式
style参数默认为百分符 % ,这表示%(