Django logging的介绍
Django用的是Python buildin的logging模块。
Python logging由四部分组成:
- Loggers - 记录器
- Handles - 处理器
- Filters - 过滤器
- 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的介绍的更多相关文章
- python 全栈开发,Day96(Django REST framework 视图,django logging配置,django-debug-toolbar使用指南)
昨日内容回顾 1. Serializer(序列化) 1. ORM对应的query_set和ORM对象转换成JSON格式的数据 1. 在序列化类中定义自定义的字段:SerializerMethodFie ...
- python3-开发进阶Django-debug-toolbar的配置和Django logging的配置
阅读目录 django-debug-toolbar的配置 Django logging的配置 一.django-debug-toolbar的配置 1.介绍 django-debug-toolbar 是 ...
- 6月20日 Django中ORM介绍和字段、字段参数、相关操作
一.Django中ORM介绍和字段及字段参数 二.Django ORM 常用字段和参数 三.Django ORM执行原生SQL.在Python脚本中调用Django环境.Django终端打印SQL语句 ...
- Django - Django框架 简单介绍
Django框架 简单介绍 本文地址: http://blog.csdn.net/caroline_wendy/article/details/29172271 1. 介绍 Django是一个开放源码 ...
- Django项目结构介绍
官网下载网址:https://www.djangoproject.com/download/ 安装(安装最新LTS版): pip3 install django==2.0.7 创建一个django项目 ...
- ModelViewSet 路由 / django logging配置 / django-debug-toolbar使用
一.ModelViewSet 路由 因为我们正在使用ViewSet代替View,实际上已经不再需要自己来设计URL的配置了.将资源和视图.URL绑定到一起是一个可以自动完成的过程,只需要使用Route ...
- Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM)
Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简 ...
- python 日志打印之logging使用介绍
python 日志打印之logging使用介绍 by:授客QQ:1033553122 测试环境: Python版本:Python 2.7 简单的将日志打印到屏幕 import logging lo ...
- Django logging模块
一.Django logging配置 1.在setting.py中配置 # 日志文件存放路径 BASE_LOG_DIR = os.path.join(BASE_DIR, "log" ...
随机推荐
- liunx下查看日志最实用命令和方法
1.业务系统访问量不是很大的时候,使用这个,有bug的地方操作下,直接看最后操作的日志,就是你刚才操作的地方,好好查bug吧 tail -fn100 catalina.log 查询日志尾部 ...
- 在centos linux上安装docker
前置条件 64-bit 系统 kernel 3.10+ 1.检查内核版本,返回的值大于3.10即可. $ uname -r 2.确保yum是最新的 $ yum update 3.安装 Docker y ...
- 从 JDK 源码角度看 Object
Java的Object是所有其他类的父类,从继承的层次来看它就是最顶层根,所以它也是唯一一个没有父类的类.它包含了对象常用的一些方法,比如getClass.hashCode.equals.clone. ...
- 在WPF中自定义控件
一, 不一定需要自定义控件在使用WPF以前,动辄使用自定义控件几乎成了惯性思维,比如需要一个带图片的按钮,但在WPF中此类任务却不需要如此大费周章,因为控件可以嵌套使用以及可以为控件外观打造一套新的样 ...
- 移动端Push推送
移动端Push推送 移动端开发逃不掉要做推送,这里给出服务端一种省时省力的解决方案. iOS:PushSharp.Apple.苹果有自己的推送服务,我们按照规则推送数据就好.这里我选取PushShar ...
- javaweb之jsp标签
1.JSP标签简介 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 2.JSP常用标签 ...
- springMVC介绍及配置
Spring MVC的Controller用于处理用户的请求.Controller相当于Struts 1里的Action,他们的实现机制.运行原理都类似. Controller是个接口,一般直接继承A ...
- 纯css画三角形,勾等形状
//三角形 .money-ul li.active:after { content: ""; position: absolute; bottom: 0; right: 0; bo ...
- 00HTML
一.概述 超文本标记语言(Hyper Text Markup Language),HTML是一门描述性的语言.基本语法: <标签> 内容 </标签>** 在一个网页中,HTML ...
- JavaScript 递归法排列组合二维数组
<html> <head> <title>二维数组排列组合</title> </head> <body> <div id= ...