• Python内置logging模块-- 日志


    一.日志事件的信息流程如下:

    二. 一份日志配置由LoggersHandlersFiltersFormatters四部分组成:

    Loggers

    Logger即记录器,是日志系统的入口。它有三个重要的工作:

    • 向应用程序(也就是你的项目)公开几种方法,以便运行时记录消息
    • 根据传递给Logger的消息的严重性,确定出需要处理的消息
    • 将需要处理的消息传递给所有感兴趣的处理器(Handler

    每一条写入logger的消息都是一条日志记录。每一条日志记录也包含级别,代表对应消息的严重程度。常用的级别如下:

    • DEBUG:排查故障时使用的低级别系统信息,通常开发时使用
    • INFO:一般的系统信息,并不算问题
    • WARNING:描述系统发生的小问题的信息,但通常不影响功能
    • ERROR:描述系统发生的大问题的信息,可能会导致功能不正常
    • CRITICAL:描述系统发生严重问题的信息,应用程序有崩溃风险

    当logger处理一条消息时,会将自己的日志级别和这条消息的日志级别做对比。如果消息的级别匹配或者高于logger的日志级别,它就会被进一步处理;否则这条消息就会被忽略掉。

    当logger确定了一条消息需要处理之后,会把它传给Handler

    Handlers

    Handler即处理器,它的主要功能是决定如何处理logger中每一条消息,比如把消息输出到屏幕、文件或者Email中。

    和logger一样,handler也有级别的概念。如果一条日志记录的级别不匹配或者低于handler的日志级别,则会被handler忽略。

    一个logger可以有多个handler,每一个handler可以有不同的日志级别。这样就可以根据消息的重要性不同,来提供不同类型的输出。例如,你可以添加一个handler把ERRORCRITICAL消息发到你的Email,再添加另一个 handler把所有的消息(包括ERRORCRITICAL消息)保存到文件里。

    Filters

    Filter即过滤器。在日志记录从logger传到handler的过程中,使用Filter来做额外的控制。例如只允许某个特定来源的ERROR消息输出。

    Filter还被用来在日志输出之前对日志记录做修改。例如当满足一定条件时,把日志记录从 ERROR 降到 WARNING 级别。

    Filter在logger和handler中都可以添加;多个filter可以链接起来使用,来做多重过滤操作。

    Formatters

    Formatter即格式化器,主要功能是确定最终输出的形式和内容。

    本人测试相关学习知识:https://github.com/langlixiaobailongqaq
  • 相关阅读:
    IIS7下设置AD单点登录
    数据库日志学习
    用AOP改善javascript代码
    NOPI使用手册
    数据库相关常用查询语句
    SQL事务+异常
    IIS文件上传大小修改配置说明
    VB&XML的增删改查
    python--多线程&多进程
    python-经典类和新式类区别
  • 原文地址:https://www.cnblogs.com/xiao-bai-long/p/15393638.html
Copyright © 2020-2023  润新知