python中的日志

日志级别

  • DEBUG:调试信息,也是最详细的日志信息
  • INFO:证明事情按预期工作
  • WARNING:表明发生了一些意外,或者不久的将来会发生问题,还是能正常工作。
  • ERROR:由于更严重的问题,已经不能执行一些功能了。
  • CRITICAL:严重错误,不能继续运行了。
    (上面列表中的日志等级是从上到下依次升高的)

logging模块

logging构成

  • Logger记录器,提供了应用程序可一直使用的接口。
  • Handler处理器,将日志记录发送到合适的路径。
  • Filter过滤器,提供了更细粒度的控制工具来决定输出哪条日志记录,丢弃哪条日志记录。
  • Formatter格式化器,指出最终输出的日志格式。

下面依次介绍四个模块
Logger记录器

Logger 是一个树形层级结构,使用之前必须先创建实例,即创建一个记录器,如果没有显式的进行创建,则默认创建一个 root logger。
使用方法:
basicConfig(**kwargs) 为日志记录系统做基本配置。
部分参数

  • filename 指定日志文件名称。
  • filemode 指定打开文件的模式,如果指定了 filename。
  • format 为处理程序使用指定的格式字符串。
  • datefmt 使用指定的日期/时间格式。样式如果指定了格式字符串,则使用它来指定 格式字符串的类型.
  • level 将根记录器级别设置为指定级别。

Handler 处理器

  • StreamHandler
    将日志记录输出发送到诸如 sys.stdout, sys.stderr 或任何类似文件流的对象。例如输出到控制台。
  • FileHandler
    将日志记录输出发送到磁盘文件。 它继承了 StreamHandler 的输出功能。
    在这里插入图片描述
  • NullHandler
    不做任何格式化或输出。 它本质上是一个开发人员使用的“无操作”处理程序。

Filter 过滤器
Handlers 和 Loggers 可以使用 Filters 来完成比级别更复杂的过滤。
Formatter格式化器

python中的日志_第1张图片
使用方法举例:
在这里插入图片描述
应用举例

import logging
 
logging.basicConfig(level=logging.DEBUG,
                    filename='output.log',
                    datefmt='%Y/%m/%d %H:%M:%S',
                    format='%(asctime)s - %(name)s - %(levelname)s - %(lineno)d - %(module)s - %(message)s')
logger = logging.getLogger(__name__)
 
logger.info('This is a log info')
logger.debug('Debugging')
logger.warning('Warning exists')
logger.info('Finish')

你可能感兴趣的:(python学习)