Javatpoint标志
Javatpoint标志

Django中的日志器

所有开发人员都会遇到bug,解决这些问题需要一些时间。

当我们知道实际的问题,当错误发生时,它会变得更有帮助。这意味着Python的错误消息非常有用。

在本教程中,我们将讨论日志模块以及如何在Django中实现它。这个模块提供了许多优点。作为一名Django开发人员,掌握日志记录是很重要的。Django为各种日志框架和模块提供了出色的支持。

让我们先简单介绍一下日志模块。

什么是日志?

日志记录是一种允许开发人员在软件执行时跟踪某些事件的技术。它是开发人员最重要的工具。日志记录有助于维护软件,并为开发人员充当额外的眼睛。

它随时跟踪发生的每一件事。在实现日志模块之后,我们可以很容易地找到抛出错误的部分。这种方法使我们能够快速解决错误。

它是如何工作的?幕后故事

一个单独的程序处理日志记录,这个日志记录程序只是一个文件写入器。据说记录器以文本格式记录某些事件。然后将记录的信息保存在文件中。这些文件被称为日志,并以log扩展名保存。它们包含发生的事件的日志。

Python提供了日志模块,该模块附带了额外的功能。我们将讨论日志模块的各种特性。日志模块可以处理以下任务-

  • 多线程执行。
  • 通过不同的日志级别对消息进行分类。
  • 它更加灵活和可配置。
  • 提供更结构化的信息。

如果您想了解更多关于日志模块的信息,请访问我们的Python中的日志模块教程。

日志模块组成

日志模块主要由四个部分组成。我们将在下面讨论每个组件。

  • 伐木工人

开发人员处理记录器;它与调用它们时将调用的函数相同。当我们调用这个函数时,它会提供一个详细的报告。日志记录器可以生成多个级别的响应。

我们也可以根据我们的要求进行修改。

  • 处理程序

处理程序用于生成信息。它就像一张传递信息的报纸。我们可以通过在日志文件中提及信息来实现这一点(默认行为)。日志模块提供了许多处理程序。

同一个日志记录器可以实现多个处理程序。SMTP处理程序也是可用的,它将为我们发送日志记录。处理程序通常包含用于记录信息的业务逻辑。

  • 过滤器

过滤器用于处理从记录器传递到处理程序的日志记录。顾名思义,它过滤消息。对于多个消息,可以有多个处理程序。默认情况下,将处理任何满足日志级别要求的日志消息。

我们可以将过滤器与记录器和处理程序一起使用。

  • 格式器

格式化程序用于格式化数据。处理程序的问题是它们不能将信息作为Python数据类型发送。要发送这种类型的信息,我们首先需要进行转换。

日志默认为“日志记录”格式,由日志模块预先定义。我们可以直接通过互联网或以文本文件的形式发送信息。要转换格式,我们需要格式化程序。

登录Django

登录模块在Django中很容易实现,也很容易配置。

要在Django中使用logger,我们需要遵循以下步骤。

  • settings.py文件将配置各种记录器、处理程序和过滤器。
  • 我们需要在视图或Django的任何其他模块中包含日志记录器代码。

让我们开始在Django中使用日志记录器。

创建一个新项目

日志记录器可以在现有项目中实现。但是,您可以创建一个新项目以更好地理解它。使用下面的命令在Django中创建一个新项目。

上面的命令将创建项目。现在,我们将配置settings.py项目。

配置设置

这是在Django中实现日志记录器的第一步。配置settings.py非常容易。我们需要定义以下东西-

  • 伐木工人
  • 处理程序
  • 过滤器
  • 格式器

我们使用dictConfig方法然而,还有其他方法可用。但是dicconfig方法是Django的默认方法。复制下面的代码并粘贴到settings.py中。

让我们分解上面的代码

代码可能看起来又大又复杂,但是很容易理解。我们有一个内置变量日志记录Django。因为我们正在使用一个名为dictConfig方法。日志的默认值来自这个字典。

控件中的一些重要键日志记录字典。

中的一些重要的键日志记录字典。

  1. 版本
  2. disable_existing_loggers
  3. 处理程序
  4. 伐木工人

版本Key指定架构版本。它有值,默认值是1。

下一个关键是disable_exiting_loggers,它指定不禁用记录器。默认情况下,Django自带日志记录器。这些日志记录器与Django ORM和Django的内部部分相连。默认情况下,该键为true,因此它禁用那些日志记录器。

第三个关键是处理程序。如上所述,处理程序处理消息并将其传递给控制台、文件等。处理程序本身就是一个字典。处理程序的名称定义为字典键。日志记录器提供了许多处理程序,但这里我们将使用两个处理程序。

1.FileHandler: logger-name -filehandler

FileHandler将把日志存储在一个文件中。正如您在上面的代码中所看到的,我们将文件名设置为javatpoint-debug.log.日志文件一般与.extension。我们需要得到修改的许可。

2.StreamHandler:记录器名称-控制台

流处理程序将在控制台上对日志进行流处理。此方法不建议使用。在命令行显示日志之前,有字符限制。对于大的日志数据,我们需要文件处理程序。

还有更多的处理程序,例如mailhandlers, AdminEmailHandlers等。

日志记录器将记录服务器或软件信息。记录器也是一种字典类型。它具有与处理程序相似的体系结构。但是,有不同的属性和其他属性。

Django附带了一组日志记录器,比如django django.requests,和更多。

现在输入以下命令并回车。

它将创建一系列日志,这是因为默认的调试级别。所有这些日志实际上都是来自默认日志记录器的消息。我们还可以在连续的文件中创建自定义记录器。如下图所示,已经创建了javatpoint-debug.log文件,它包含了所有的日志记录。

Django中的日志器

有大量的日志错误或警告或以上级别需要通知。

结论

日志记录是开发人员的重要工具。如果程序员正确地实现它,它可以降低复杂性并节省大量时间。日志处理程序可以轻松地处理日志,并且可以轻松地跟踪事件,无论是否发生,以及原因。







Youtube 视频加入我们的Youtube频道:现在加入

反馈


帮助别人,请分享

脸谱网 推特 pinterest

学习最新教程


准备


热门的技术


b .技术/马华






Baidu
map