zoukankan      html  css  js  c++  java
  • Django logging的介绍

    Django用的是Python buildin的logging模块。

    Python logging由四部分组成:

    1. Loggers - 记录器
    2. Handles - 处理器
    3. Filters - 过滤器
    4. Formatters - 格式器

    Loggers

    Logger,记录器。一个记录器是日志系统的一个实体,每一个记录器是一个已经命名好的信息“桶”,在程序执行的过程中,可以往里面写入信息。

    每个记录器都要设置log level, 这个log level描述了记录器记录信息的严重级别。log level有如下几种:

    1、DEBUG: 低级别的系统信息,一般用于调试

    2、INFO: 一般的系统信息

    3、WARNING: 警告信息,

    4、ERROR: 错误信息,

    5、CRITICAL: 严重性信息

    每一条被写入到记录器中的信息都称为一条日志记录。每条日志记录也都有log level来说明该日志记录的严重级别。每条日志记录也包含一些有用的元素,这些元素用来描述这个日志记录描述的一个什么样的事件。

    当一条日志信息发给记录器时,日志信息的log level会和记录器的log level对比。如果日志信息的log level达到或者是超过记录器的log level的级别,这条信息会被发往处理器去处理。否则,这条信息会被忽略。

    一旦记录器决定信息要进一步被处理,这条信息会被pass给Handler.

    Handlers

    handlers,处理器。就像一个引擎,决定每一条写进记录器中的信息应该怎么处理。它说明的是一个特殊的记录行为,比如,将这个信息写在屏幕上、写到一个文件或者写到一个Network socket中去。

    像记录器一样,handlers 也有log level控制。如果信息的log level没有达到或者超过handler的log level,那么handler会忽略点这条消息。

    一个logger可以有多个handlers, 且每个handler可以有不同的log level. 这样,可以根据信息的严重级别提供不同的通知。比如,你可以设置另一个严重级别为ERROE和CRITICAL的handler, 为一个paging service。同时,设置一个handler去记录下所有严重级别的信息,以提供给进一步分析。

    Filters

    Filters,过滤器。提供一些额外的过滤功能,作用于信息从记录器传给handler的过程中。

    默认情况下,任何达到log level的日志信息都会被处理。但是,如果配置了filter,你可以在logging过程中添加一些额外的过滤功能。比如,你只允许某个指定的来源的ERROR信息发给handler.

    Filters也可以修改日志记录的级别。比如,你可以写一个Filter, 设置在一些特殊情况,能够将ERROR级别的日志记录降级为WARNING级别。

    Filters可以在Loggers和handlers里面设置。多个filters可以同时作用于一个地方,起到多重过滤的作用。

    Formatters

    Formatters,格式化器。一条日志记录需要以文本的形式展现出来,Formatters定义了文本的格式。一个格式化器一般由python的格式字符串组成。不过,你也可以自定义格式。

  • 相关阅读:
    设计【SPFA】【差分约束】
    黑魔法师之门【并查集】
    太鼓达人【欧拉回路】【DFS】
    七夕祭【模拟】
    圣章精灵使的魔法语【线段树】
    终章剑之魂【模拟】【贪心】
    轻轨【线段树】【贪心】
    气象牛【DP】
    HTML属性
    HTML元素
  • 原文地址:https://www.cnblogs.com/haoshine/p/5073106.html
Copyright © 2011-2022 走看看