IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> django 日志 -> 正文阅读

[Python知识库]django 日志

Django 使用Python内建的logging模块打印日志,python的looging配置由四个部分组成:

记录器-Logger
处理程序- Handler
过滤器-Filter
格式化-Formatter

记录器-Logger

Logger为日志系统的入口,每个logger的命名都是bucket,可以向这个bucket写入需要处理的消息。简而言之,打印每一条日志信息都是通过这个Logger处理

每个logger都有一个日志级别。日志级别表示该logger将要处理的消息严重性。 Python定义以下几种日志级别:
DEBUG: 用于调试目的的底层系统消息
INFO: 普通的系统信息
WARNING : 表示出现一个较小的问题
ERROR: 表示大问题
CRITICAL : 表示出现一个致命的问题。

写入logger的每条消息都是一条日志。每条日志也具有一个日志级别,它表示对应的消息的严重性。每个日志记录还可以包含描述正在打印的事件的元信息。

当一条消息传递给logger时,消息的日志级别将于logger的日志级别进行比较。如果消息日志级别大于等于logger的日志级别,该消息将会往下继续处理,如果小于,该消息将被忽略。

Logger 一旦决定消息需要处理,它将传递该消息给一个Handler。

Logger日志级别

级别描述
CRITICAL50关键错误/消息
ERROR40错误
WARNING30警告信息
INFO20通知消息
DEBUG10调试
NOTSET0无级别

每个输出的消息都会有自己的级别,它会与定义的logging定义的级别进行比较。大于等于就会处理,否则就会被忽略

在这里插入图片描述

在这里插入图片描述

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

  • level (可选)。 logger的级别
  • propagate(可选)。 logger的传播设置
  • filters(可选)。 logger的filter的标识符的列表
  • handlers(可选)。 logger的handler的标识符列表。

LOGGIN= {
‘loggers’:{
‘reboot’:{
‘handlers’:[‘file_handler’,‘console_handler1’],
‘level’:‘DEBUG’,
}
}
}

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

LOGGIN= {
‘handlers’:{
‘reboot’:{
‘level’:‘DEBUG’,
‘class’:‘logging.StreamHandler’,
‘formatter’:‘simple’,
}
}
}

如果得到的日志级别是大于等于DEBUG,会交给loggers,然后交给里面对应的reboot,再匹配handlers中的reboot,如果日志级别大于等于loggers当中的级别就进行处理。

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

格式化-Formatters
日志记录需要转换成文本,Formatter表示文本的格式。Formatter通常包含日志记录属性的Python格式字符串组成;也可以编写自定义的formatter来实现自己的格式

在这里插入图片描述
handler中可以指定用什么方式输出日志,class: 表示指定用什么方式写入我们的日志。streamhandler 表示是写到console,还有很多方式。例如写到文件,写到内存,写到网络socket
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

定义格式
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Django 日志
在这里插入图片描述

在这里插入图片描述

视图层不用额外配置,保持原貌
在这里插入图片描述

在这里插入图片描述

向上传播(propagate)
这个值默认是True,会按照模块向上传播。

在这里插入图片描述

在这里插入图片描述
. 左边代表父模块 ,右边代表子模块。日志传播会自动向上传播。例如schema会传到backends,传到db,传到django。

在这里插入图片描述
name 这也是个模块,就是当前的视图

root默认是输出到终端

开发环境全部在终端

在这里插入图片描述
生成环境全部在日志,并且是json格式

在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-23 10:49:32  更:2022-04-23 10:49:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:46:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码