Django框架 - 13 日志Logging模块的使用

日志使用

前言

在django中对日志记录提供了很好的支持,日志文件在开发环境中以及在线上环境或者在测试环境中均可以很好的反应程序的执行状况,以及出现bug的时候,准确的定位bug的位置,请求方法,错误缘由等。因此说日志对于程序猿来讲是一个开发者必备的必须了解且精通的东西。如下是对日志的配置以及使用,以及调试等

1. 日志logging模块

logging模块能够收集记录错误,警告等调试信息,在程序中能够捕获这些信息,而且甚至能够将错误的重要信息等均可以经过邮件发送给开发者python

1.1 logging的组成
Loggers

Handlers

Filters

Formatters
1.1 Loggers

Logger 为日志系统的入口。每一个logger 是一个具名的容器,能够向它写入须要处理的消息。web

每一个logger 都有一个日志级别。日志级别表示该logger 将要处理的消息的严重性。django

Python 定义如下几种日志级别:svg

DEBUG:用于调试目的的底层系统信息

INFO:普通的系统信息

WARNING:表示出现一个较小的问题。

ERROR:表示出现一个较大的问题。

CRITICAL:表示出现一个致命的问题。

日志级别等级CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET
1.2 Handlers

Handler 决定如何处理logger 中的每条消息。它表示一个特定的日志行为。测试

与logger 同样,handler 也有一个日志级别。若是消息的日志级别小于handler 的级别,handler 将忽略该消息。3d

Logger 能够有多个handler,而每一个handler 能够有不一样的日志级别。调试

1.3 Filters

Filter 用于对从logger 传递给handler 的日志记录进行额外的控制。日志

1.4 Formatters

日志记录须要转换成文本。code

Formatter 表示文本的格式。Fomatter 一般由包含日志记录属性的Python 格式字符串组成;orm

你也能够编写自定义的fomatter 来实现本身的格式。

以下展现了formatters格式:
这里写图片描述

2.配置logging模块

在settings.py文件中配置

2.1 建立日志所在目录

这里写图片描述

2.2 定义LOGGING的格式

这里写图片描述

2.2 定义handler的格式

这里写图片描述

2.2 定义loggers的格式

这里写图片描述
注意:loggers的level的级别必定要大于handlers的级别,不然handlers会忽略掉该信息的。

3. 使用logging打印日志

这里写图片描述

4. 查看log文件中日志打印的记录

这里写图片描述