zoukankan      html  css  js  c++  java
  • Python之logging高级教程

    日志库采用了模块化的方法,包括了logger,handlers,filters,和formatters四个组件。

    • Loggers是个开放的接口,直接面向代码使用。
    • Handlers发送日志记录到合适的目的地。
    • Filters提供过滤设备,决定了日志的那些内容可以输出。
    • Formatters设置了日志最后输出的格式。

    log事件在一条log记录中是通过了logger,handlers,filters,和formatters流转的。

    logging通过调用Logger类实例(以下称为记录器)的方法起作用。每个实例有一个名字,在概念上,它们在一个命名空间中,按照句点作为分隔符进行分分层。例如,一个叫scan的logger,是'scan.text',‘scan.html’和'scan.pdf'的父类.Logger的名字可以任意起名,代表着一条被记录的Log信息的产生源头。

    一般传统的给loggers命名方法是用当前模块的名称

    1 logger = logging.getLogger(__name__)

    这样可以直观的看到事件发生的位置

    Logging的流程

     Logger组件介绍:

    1. Logger直接面向应用的代码,所以当程序运行时,可以记录相关的日志信息
    2. 根据严重程度和过滤组件,logger决定日志信息的相关展示
    3. logger将相关的日志传递给对应的日志处理程序

    Logger两个重要的分类:cofiguration和message sending

    • 1、配置
    • Logger.setLevel() 声明了log信息展示的最低的级别
    • Logger.addHandler() 和 Logger.removeHandler()  添加和移除绑定到logger上的handler组件
    • Logger.addFilter() 和 Logger.removeFilter() 添加和移除绑定到logger上的filter组件
    • 2、创建log信息
    • Logger.debug(),Logger.info(),Logger.warning(),Logger.error(),Logger.critical()

    getLogger() :返回一个带有名字的logger实例相关内容

  • 相关阅读:
    配置缓存过期时间
    浏览器读取缓存流程
    nginx做代理的优化
    系统优化
    每日总结2.2
    每日总结2.1
    《构建之法》阅读笔记三
    每日总结1.29
    每日总结1.28
    每日总结1.27
  • 原文地址:https://www.cnblogs.com/PPhoebe/p/8465484.html
Copyright © 2011-2022 走看看