logging日志框架
主要包括四部分:
- Loggers: 可供程序直接调用的接口,app通过调用提供的api来记录日志
- Handlers: 决定将日志记录分配至正确的目的地
- Filters:对日志信息进行过滤, 提供更细粒度的日志是否输出的判断
- Formatters: 制定最终记录打印的格式布局
loggers:
loggers 就是程序可以直接调用的一个日志接口,可以直接向logger写入日志信息。logger并不是直接实例化使用的,而是通过logging.getLogger(name)来获取对象
Handlers:
Handlers 将logger发过来的信息进行准确地分配,送往正确的地方。送往控制台或者文件
Filters:
Filters 提供了更细粒度的判断,来决定日志是否需要打印
Formatters:
Formatters 指定了最终某条记录打印的格式布局
%(levelno)s:打印日志级别的数值
%(levelname)s:打印日志级别的名称
%(lineno)d:打印日志的当前行号
%(asctime)s:打印日志的时间
%(message)s:打印日志信息
示例:
import logging logger = logging.getLogger(__name__) # 设置日志初始模块 logger.setLevel(level=logging.INFO) # 设置日志级别 handler = logging.FileHandler("tt.log") # 设置当前目录存放日志 handler.setLevel(logging.INFO) formatter = logging.Formatter( '%(asctime)s - %(levelname)s - %(lineno)d - %(levelname)s - %(message)s') handler.setFormatter(formatter) logger.addHandler(handler)