在django中对日志记录提供了很好的支持,日志文件在开发环境中以及在线上环境或者在测试环境中均可以很好的反应程序的执行状况,以及出现bug的时候,准确的定位bug的位置,请求方法,错误缘由等。因此说日志对于程序猿来讲是一个开发者必备的必须了解且精通的东西。如下是对日志的配置以及使用,以及调试等
logging模块能够收集记录错误,警告等调试信息,在程序中能够捕获这些信息,而且甚至能够将错误的重要信息等均可以经过邮件发送给开发者python
Loggers Handlers Filters Formatters
Logger 为日志系统的入口。每一个logger 是一个具名的容器,能够向它写入须要处理的消息。web
每一个logger 都有一个日志级别。日志级别表示该logger 将要处理的消息的严重性。django
Python 定义如下几种日志级别:svg
DEBUG:用于调试目的的底层系统信息 INFO:普通的系统信息 WARNING:表示出现一个较小的问题。 ERROR:表示出现一个较大的问题。 CRITICAL:表示出现一个致命的问题。 日志级别等级CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET
Handler 决定如何处理logger 中的每条消息。它表示一个特定的日志行为。测试
与logger 同样,handler 也有一个日志级别。若是消息的日志级别小于handler 的级别,handler 将忽略该消息。3d
Logger 能够有多个handler,而每一个handler 能够有不一样的日志级别。调试
Filter 用于对从logger 传递给handler 的日志记录进行额外的控制。日志
日志记录须要转换成文本。code
Formatter 表示文本的格式。Fomatter 一般由包含日志记录属性的Python 格式字符串组成;orm
你也能够编写自定义的fomatter 来实现本身的格式。
以下展现了formatters格式:
在settings.py文件中配置
注意:loggers的level的级别必定要大于handlers的级别,不然handlers会忽略掉该信息的。