资讯专栏INFORMATION COLUMN

Django基础之四(日志)【待续】

newtrek / 2738人阅读

摘要:日志级别表示该将要处理的消息的严重性。表示出现一个致命的问题。如果消息的日志级别大于等于的日志级别,该消息将会往下继续处理。利用这种方式,可以根据消息的重要性提供不同形式的处理过滤器用于对从传递给的日志记录进行额外的控制。

Django日志 简介

Django使用python内建的logging模块打印日志,python的logging配置由下面的四个方面组成:

记录器: Logger

处理程序: Handler

过滤器: Filter

格式化: Formatter

记录器 Logger

Logger 为日志系统的入口。每个logger命名都是bucket,你可以向这个bucket写入需要处理的消息。
每个logger 都有一个日志级别。日志级别表示该logger 将要处理的消息的严重性。Python 定义以下几种日志级别:

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

INFO:普通的系统信息

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

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

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

写入logger 的每条消息都是一条日志。每条日志也具有一个日志级别,它表示对应的消息的严重性。每个日志记录还可以包含描述正在打印的事件的元信息。
当一条消息传递给logger 时,消息的日志级别将与logger 的日志级别进行比较。
如果消息的日志级别大于等于logger 的日志级别,该消息将会往下继续处理。如果小于,该消息将被忽略。
Logger 一旦决定消息需要处理,它将传递该消息给一个Handler。

Logger日志级别 Logger的配置

logger 对应的值是个字典,其每一个键都是logger的名字,每一个值又是个字典,描述了如何配置对应的Logger实例。

level (可选的)。logger的级别。

propagate (可选的)。logger的传播设置。

filters (可选的)。logger的filter的标识符的列表。

handlers (可选的)。logger的handler的标识符的列表。

参考

在settings.py中配置日志

LOGGING = {
    "loggers": {
        "reboot": {
            "handlers": ["file_handler", "console_handler"],
            "level": "DEBUG",
        },
    },
}
处理程序 Handler

Handler 决定如何处理logger 中的每条消息。它表示一个特定的日志行为,例如将消息写到屏幕上、写到文件中或者写到网络socket
与logger 一样,handler 也有一个日志级别。如果消息的日志级别小于handler 的级别,handler 将忽略该消息
Logger 可以有多个handler,而每个handler 可以有不同的日志级别。利用这种方式,可以根据消息的重要性提供不同形式的处理

Filters 过滤器

Filter 用于对从logger 传递给handler 的日志记录进行额外的控制。
默认情况下,满足日志级别的任何消息都将被处理。通过安装一个filter,你可以对日志处理添加额外的条件。例如,你可以安装一个filter,只允许处理来自特定源的ERROR 消息
Filters 还可以用于修改将要处理的日志记录的优先级。例如,如果日志记录满足特定的条件,你可以编写一个filter 将日志记录从ERROR 降为WARNING
Filters 可以安装在logger 上或者handler 上;多个filter 可以串联起来实现多层filter 行为

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44960.html

相关文章

  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程

    摘要:背景在工作中虽然我经常使用到库但是很多时候对的一些概念还是处于知其然不知其所以然的状态因此就萌生了学习源码的想法刚开始看源码的时候自然是比较痛苦的主要原因有两个第一网上没有找到让我满意的详尽的源码分析的教程第二我也是第一次系统地学习这么大代 背景 在工作中, 虽然我经常使用到 Netty 库, 但是很多时候对 Netty 的一些概念还是处于知其然, 不知其所以然的状态, 因此就萌生了学...

    shenhualong 评论0 收藏0
  • git 详解及实用指南之四(标签管理)

    摘要:详解及实用指南之一本地操作详解及实用指南之二远程操作详解及实用指南之三分支管理创建标签标签可以简单的理解为属于分支定义的别名,分支本身都会进行指针的配置分支都会指向某一个但是标签却是一个固定的内容,可以说,标签永远指向一个。 1. git 详解及实用指南之一 (本地操作)2. git 详解及实用指南之二 (远程操作)3. git 详解及实用指南之三(分支管理) 1.创建标签 标签可以简...

    wawor4827 评论0 收藏0
  • git 详解及实用指南之四(标签管理)

    摘要:详解及实用指南之一本地操作详解及实用指南之二远程操作详解及实用指南之三分支管理创建标签标签可以简单的理解为属于分支定义的别名,分支本身都会进行指针的配置分支都会指向某一个但是标签却是一个固定的内容,可以说,标签永远指向一个。 1. git 详解及实用指南之一 (本地操作)2. git 详解及实用指南之二 (远程操作)3. git 详解及实用指南之三(分支管理) 1.创建标签 标签可以简...

    klivitamJ 评论0 收藏0
  • django入门

    摘要:配置环境安装安装创建项目启动服务器进入项目目录,在浏览器内访问创建应用未完待续 配置环境 安装python 2.7.x 安装pip pip install django 创建项目 django-admin.py startproject mysite 启动服务器: 进入项目目录, ./manage.py runserver 在浏览器内访问 http://127.0.0.1:...

    3fuyu 评论0 收藏0

发表评论

0条评论

newtrek

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<