• 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实例相关内容

  • 相关阅读:
    hdu2037 今年暑假不AC[贪心][区间调度问题]
    Features Track[STL map]
    Characters with Hash[签到题]
    hdu2094产生冠军[STL set]
    2018ECNA Difference[时空复杂度]
    hdu1276士兵队列训练问题[简单STL list]
    20190815网络与信息安全领域专项赛线上赛misc WriteUp
    hdu1873 看病要排队[优先队列]
    Pygame 贪吃蛇
    Windows安装Python3 curses模块
  • 原文地址:https://www.cnblogs.com/PPhoebe/p/8465484.html
Copyright © 2020-2023  润新知