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的格式字符串组成。不过,你也可以自定义格式。

Django logging的介绍的更多相关文章

  1. python 全栈开发,Day96(Django REST framework 视图,django logging配置,django-debug-toolbar使用指南)

    昨日内容回顾 1. Serializer(序列化) 1. ORM对应的query_set和ORM对象转换成JSON格式的数据 1. 在序列化类中定义自定义的字段:SerializerMethodFie ...

  2. python3-开发进阶Django-debug-toolbar的配置和Django logging的配置

    阅读目录 django-debug-toolbar的配置 Django logging的配置 一.django-debug-toolbar的配置 1.介绍 django-debug-toolbar 是 ...

  3. 6月20日 Django中ORM介绍和字段、字段参数、相关操作

    一.Django中ORM介绍和字段及字段参数 二.Django ORM 常用字段和参数 三.Django ORM执行原生SQL.在Python脚本中调用Django环境.Django终端打印SQL语句 ...

  4. Django - Django框架 简单介绍

    Django框架 简单介绍 本文地址: http://blog.csdn.net/caroline_wendy/article/details/29172271 1. 介绍 Django是一个开放源码 ...

  5. Django项目结构介绍

    官网下载网址:https://www.djangoproject.com/download/ 安装(安装最新LTS版): pip3 install django==2.0.7 创建一个django项目 ...

  6. ModelViewSet 路由 / django logging配置 / django-debug-toolbar使用

    一.ModelViewSet 路由 因为我们正在使用ViewSet代替View,实际上已经不再需要自己来设计URL的配置了.将资源和视图.URL绑定到一起是一个可以自动完成的过程,只需要使用Route ...

  7. Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM)

    Django中ORM介绍和字段及字段参数   Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简 ...

  8. python 日志打印之logging使用介绍

    python 日志打印之logging使用介绍 by:授客QQ:1033553122 测试环境: Python版本:Python 2.7   简单的将日志打印到屏幕 import logging lo ...

  9. Django logging模块

    一.Django logging配置 1.在setting.py中配置 # 日志文件存放路径 BASE_LOG_DIR = os.path.join(BASE_DIR, "log" ...

随机推荐

  1. QSS为Qt程序添加不一样的样式

    添加 QSS 样式文件 在 Qt 项目中新建一个或使用已有的 Qt Resource File,在资源文件下面新建一个普通文件,命名为 Light.qss: 为 Light.qss 添加如下内容: 这 ...

  2. Java ConcurrentModificationException异常原因和解决方法(转)

    摘自:http://www.cnblogs.com/dolphin0520/p/3933551.html#undefined 在前面一篇文章中提到,对Vector.ArrayList在迭代的时候如果同 ...

  3. 【eclipse安装黑色主题】

    eclipse Luna Service Release 2 (4.4.2)版本的自带了黑色的主题,切换下即可: 切换主题以后还需要修改下字体的主题: http://www.eclipsecolort ...

  4. [转]象棋AI算法(一)

    本文转自:http://blog.csdn.net/u012723995/article/details/47133693 参考文献:http://www.xqbase.com/computer/se ...

  5. Spring 中任意位置获取 session 和 request

    在web.xml中添加监听: <listener> <listener-class>org.springframework.web.context.ContextLoaderL ...

  6. jquery ajaxFileUpload异步上传文件

    ajaxFileUpload.js 很多同名的,因为做出来一个很容易. 我用的是这个:https://github.com/carlcarl/AjaxFileUpload 下载地址在这里:http:/ ...

  7. [TJOI2007]小朋友

    题面 Luogu Sol 弦图最大独立集 做法见上篇博客 # include <bits/stdc++.h> # define RG register # define IL inline ...

  8. HDU4336:Card Collector(min-max容斥)

    题面 传送门 Sol 方法一 直接状压就好了 # include <bits/stdc++.h> # define RG register # define IL inline # def ...

  9. 洛谷11月月赛题解(A-C)

    心路历程 辣鸡T3卡我1.5h题意,要不是最后nlh跟我解释了一下大样例估计这次是真凉透了.. A P4994 终于结束的起点 打出暴力来发现跑的过最大数据?? 保险起见还是去oeis了一波,然后被告 ...

  10. 关于开发Cesium造成的电脑风扇狂飙的问题

    最近在开发Cesium的项目,每次一打开浏览器渲染3D 模型.风扇就狂飙起来,进任务管理器查看发现集显使用率100%,独显使用率0%.使用的是集显进行渲染.怪不得风扇会飙起来.既然知道问题所在,解决的 ...