6.8 KiB
Django 日志——快速设置指南
在这篇文章中,我们将学习所有关于 Django 日志记录的内容!!
为什么日志记录很重要?
作为一名程序员,我们写了很多代码,因此最终也会有很多错误。现在回溯并找到错误的确切位置是非常耗时的。
这就是测井模块发挥作用的地方。日志记录为开发人员提供了一个新的视角来快速找到并调试错误。
Django 的日志是什么?
日志记录是一种技术,它使您能够跟踪代码/系统实时运行时发生的事件。
日志作为一个独立的程序工作。你可以把它想象成一个简单的文件写入器。当系统运行时,它跟踪事件并将其记录到控制台或称为日志的文件中。
日志是带有日志扩展名的简单文件,包含文本格式的所有记录。此外,日志记录还有更多附加功能,如:
- 使多线程执行成为可能
- 通过不同的日志级别对消息进行分类的选项
- 更加灵活和可配置。
- 拥有更加结构化的信息
4 Django 伐木的一部分
执行 Django 日志记录有 4 个部分。让我们来看看它们是什么。
1.决哥伐木工
这是登录系统的一个条目。记录器是一个部件,当调用日志记录时,它记录事件以供处理。此外,记录器被配置为具有日志级别。
日志级别说明了记录器将接受或处理的事件的严重性。
| 日志级别 | 描述 | 严重 |
|---|---|---|
| 调试 | 一切正常时的系统信息。 | Ten |
| 信息 | 类似于 debug。它通常概述了系统正在执行的内容。 | Twenty |
| 警告 | 涉及不会导致系统停止的低级问题。 | Thirty |
| 错误 | 这条信息是严肃的。这表明问题可能已经停止了系统的运行,需要立即引起注意 | Forty |
| 危急 | 最关键的信息。当问题导致系统停止时,会显示此信息。 | Fifty |
写入记录器的每条消息称为一条日志记录。只有那些日志级别高于日志记录器的消息才被接收进行处理,其余的都被忽略。
2.姜戈在买卖
这是 Django 日志系统的下一个级别。这有关于记录器中的日志记录发生了什么的进一步信息。也就是说,它有关于位置(控制台或文件等)的信息,日志记录将被写入,应用于日志记录的过滤器和格式化程序的类型。
像记录器一样,处理程序也有日志级别。如果日志记录的日志级别不等于或高于处理程序的日志级别,则它将被忽略。
3。姜戈过滤器
顾名思义,它提供了对日志记录的进一步过滤,从日志记录器传递到处理程序。例如,通常会处理符合日志级别要求的日志消息。但是您可以安装一个过滤器,只允许来自特定来源的错误消息被发出/写入。
4。Django 格式器
最终,日志记录必须以文本形式存储。日志记录通常采用日志框架预定义的日志记录格式。但是要将它存储为文件,我们需要首先将其转换为正确的格式。
因此格式化程序被用来转换它们。默认情况下,格式化程序将其转换为字符串。但是也可以根据我们的需要进行改变和定制。
流程很简单。
Logging Flow
将 Django 日志目录添加到 settings.py
所有关于记录器、处理程序、过滤器和格式化程序的信息都必须写入 settings.py 本身。
基本语法是:
LOGGING = {
'version': 1,
# Version of logging
'disable_existing_loggers': False,
'filters':{
#information regarding filters
},
'formatters':{
'<formatter_name>':{
'format': '<formatter_info>',
'style': '{',
}
},
'handlers': {
'file': {
'level': '<log_level>',
'class': '<logging_class>',
'filename': '<file_name>',
},
'console': {
'class': '<logging_class>',
},
},
'loggers': {
'django': {
'handlers': ['file', 'console'],
'level': '<log_level>',
},
},
这里:
- **版本:**这是我们正在使用的日志版本。
- **disable _ existing _ loggers:**默认情况下,Django 禁用记录器。所以我们需要让他们回来。
- **过滤器:**提到了我们将在日志中使用的过滤器。
- **格式器:**所有关于日志记录格式的信息都在这里。
- **处理程序:**日志记录上所有要进行的过程都写在这里。例如存储位置、要使用的格式化程序、要添加的过滤器等。
- Loggers: 这个有处理者的信息;日志记录将被传递到日志级别等。
因此,让我们在应用程序中添加一个简单的日志目录,它将把日志级别大于或等于 DEBUG 的所有记录保存到日志文件夹中的一个日志文件中。
在 Django 项目的文件夹中创建一个日志文件夹
logs
在 settings.py 中添加代码:
LOGGING
只要记住我们在上一节学到的逻辑,努力理解代码就行了!
调用 views.py 中的 Django 日志函数
现在,我们已经在 settings.py 中指定了日志记录,我们必须在 views.py 导入日志记录中的 views.py 文件中的任意位置添加函数调用,然后在开头编写代码
import logging
logger = logging.getLogger(__name__)
name 获取调用该函数的文件的名称。您可以使用它来识别当前文件,并从那里添加日志记录方法。
为了演示,我在 views.py 文件中随机添加了 logging.info 函数调用
Views 1
类似地,在项目视图中:
Views 2
运行 Django 日志记录
就这样,伙计们!!我们现在可以运行程序,让日志记录处理所有的日志记录。
python manage.py runserver
此后, log_file1.log 将被自动创建并开始存储日志记录。
Log File
正如我们在格式化程序中提到的,日志首先存储有级别名称,然后是消息。
结论
就这样,伙计们!!这都是关于 Django 日志记录的。请务必查看 Python 日志,了解更多关于日志的信息。另外,你可以从官方文档中了解更多关于 Django 伐木的信息。注意安全!!继续学习!!





