Rails登录器简介(附代码)

139 阅读6分钟

Rails Logger

Rails登录器简介

Rails登录是最佳实践之一。Rails日志器有助于维护运行中的应用程序的日志。它还具有一些额外的优势。日志信息将被自动格式化为相关信息;我们可以通过标记它们来指定类似的日志,并指定类似的日志级别。Rails日志器将把用户放在一个合适的应用程序登录路径中。同时,任何相关的信息都可以被快速访问。在调试过程中,当有问题被报告时,日志将帮助我们。使用日志器的好处是,它可以通过对统计数据、使用情况和元数据的深入了解,为应用程序增加价值。

什么是Rails日志记录器?

在Ruby rails中,ActiveSupport::Logger将被创建以获得标准输出,作为初始化的一部分。正如我们所知,日志维护着数据使用的历史。在这里,也是在Ruby rails中,当我们在一个应用程序上工作时,日志会被维护,这有助于我们在出现错误时进行处理。日志文件通常会以环境中存在的默认文件名生成。例如,如果我们保存开发文件,日志文件名将是development.log,而如果我们保存生产文件,文件名将是production.log。生活中的记录器让用户非常惬意。它们有各自的优势。它让生活变得简单!

让我们来看看应用程序的日志。信息将被记录在应用程序的日志过程中,如应用程序的运行时间行为。为什么你认为日志数据很重要?通常情况下,当我们在写代码等工作时,我们离开现场去做别的事情,如果之前工作的代码出了问题,会发生什么?我们最终将只有日志数据。这些数据将帮助我们诊断问题。我们可以从日志中收集到的信息有:每天加载的页面数量、考虑较多和经常被忽略的功能、在页面上停留的时间(以小时和秒为单位)、以及进入的用户数据。

如何使用Rails Logger?

当我们开始使用Rails记录器时,我们有几个选项需要考虑。首先,我们需要配置日志器的属性。在环境文件中,输入以下内容即可开始使用:

Rails Logger output 1

然后我们将得到以下格式的输出:

Rails Logger output 2

在这里,所有默认的日志都将被存储。但我们可以根据客户的要求,通过使用不同的日志记录器级别来定制日志数据。因为有时候,我们不希望记录所有环境的所有数据。我们可能需要从一个特定的环境文件中配置某些数据。例如,我们需要一些环境的日志数据,而另一些则是生产的日志数据。因此,最好在不同层次上记录数据:

Rails Logger output 3

上面是设置日志级别的代码,它自动调试到测试和开发中。这是基本的步骤,然后我们可以通过增加传入日志信息的日期和时间格式来改进。这只是延续了之前看到的代码:

Rails Logger output 4

在这里,我们将日期和时间格式改为 "年-月-时-分-秒 "格式,输出结果将如下图所示:

Rails Logger output 5

因此,在这一节中,我们看到了如何启动记录器并根据客户的要求修改默认代码。下一节将看到如何创建Rails记录器应用程序。

创建Rails日志记录器应用程序

要创建一个Rails日志程序,我们需要执行下面的代码:

output 6

在屏幕的几个输出后,你将得到记录器应用程序。之后,我们将让Rails为我们生成一个模型和一个控制器,这样我们就可以记录任何有用的东西。通过进入日志应用目录来运行这个:

output 7

Rails构建一个用户记录的框架,其中包括一个名字和一个电子邮件地址。最后,使用Rails将该应用转换为SQLite:

output 8

而我们已经应用了!所以让我们运行它,并确保一切正常:

 output 9

配置文件

ActiveSupport::Logger,像其他记录器一样,提供了许多级别。有五个级别:调试、信息、警告、错误和致命。通过调用相关的方法,我们可以在这些级别中的任何一个级别记录一条消息:

output 10

上面的代码帮助我们对不同级别的消息进行分类。也可以对消息进行过滤。在Rails中,我们有一个选项,可以根据行规进行配置。要做到这一点,我们必须添加日志配置,如图所示:config/application.rb或config/environment/{environment_name}.rb。在这种情况下,环境文件将占据优势。我们可以通过传递Rail来改变日志文件的名称和位置;一个根据我们的喜好配置的日志对象。这也意味着,如果我们想修改日志行为,我们可以构建新的Logger子类:

output 11

Rails配置有一种手段,可以为Rails提供一个日志消息格式化实例。第一步是开发该消息格式化器类。在ActiveSupport::Logger::SimpleFormatter,它是一个调用方法并被重载。对于设置,我们需要一个SimpleFormatter对象。Logger向调用发送四个参数。它们是日志级别(作为严重程度)、消息的时间、程序名称和消息本身。严重程度被结构化为一个固定宽度的字段,而时间被格式化为一个人类可读的字符串。然后,我们将这些碎片组合成一个可识别的消息结构。这个类可以通过各种方式添加到我们的代码中。Rails中libs目录的用法可能会有争议,但为了获得一个格式化器,我们会使用它。

总结

这篇博客探讨了Rails日志器以及如何从我们的应用代码中使用它。然后,我们看到了如何对日志信息进行修改,以便根据客户的要求获得更多的信息,我们还研究了如何改变和扩展设置。你可以用日志做的事情还有很多。你还了解了创建配置文件的情况。归根结底,当我们被错误卡住时,每次的日志记录是非常重要的。它可以帮助我们进行调试。