使用logger库-如何在ruby中编写日志消息

在Ruby中使用logger库是跟踪代码何时出错的一种简单方法。当出现错误时,详细说明导致错误的原因可以节省查找错误的时间。随着程序变得越来越大、越来越复杂,您可能需要添加一种写入日志消息的方法。Ruby附带了许多有用的类和库,称为标准库。其中包括logger库,它提供优先顺序和循环日志记录。...

在Ruby中使用logger库是跟踪代码何时出错的一种简单方法。当出现错误时,详细说明导致错误的原因可以节省查找错误的时间。随着程序变得越来越大、越来越复杂,您可能需要添加一种写入日志消息的方法。Ruby附带了许多有用的类和库,称为标准库。其中包括logger库,它提供优先顺序和循环日志记录。

Woman and man working in large open modern office

基本用法

由于logger库附带Ruby,因此无需安装任何gems或其他库。要开始使用logger库,只需使用“logger”并创建一个新的logger对象。写入记录器对象的任何消息都将写入日志文件。

#!/usr/bin/env ruby require 'logger' log = Logger.new('log.txt') log.debug "Log file created"

优先事项

每个日志消息都有一个优先级。这些优先级使得在日志文件中搜索严重消息变得简单,并且让logger对象在不需要时自动过滤掉较小的消息。你可以把它想象成你一天的任务清单。有些事情绝对必须做,有些事情确实应该做,有些事情可以推迟到你有时间去做。

在上一个示例中,优先级是debug,这是所有优先级中最不重要的一个(如果愿意的话,任务列表中的“推迟到有时间为止”)。日志消息的优先级从最低到最重要依次为:debug、info、warn、error和fatal。要设置记录器应忽略的消息级别,请使用级别属性。

#!/usr/bin/env ruby require 'logger' log = Logger.new('log.txt') log.level = Logger::WARN log.debug "This will be ignored" log.error "This will not be ignored"

您可以创建任意数量的日志消息,并且可以记录程序所做的每一件小事,这使得优先级非常有用。在运行程序时,您可以将记录器级别设置为“警告”或“错误”,以捕获重要内容。然后,当出现问题时,可以降低记录器级别(在源代码中或使用命令行开关)以获取更多信息。

旋转

记录器库还支持日志旋转。日志旋转可以防止日志变得过大,并有助于搜索较旧的日志。当启用日志旋转且日志达到特定大小或特定时间时,记录器库将重命名该文件并创建新的日志文件。也可以将较旧的日志文件配置为在一定时间后删除(或“停止旋转”)。

要启用日志循环,请将“每月”、“每周”或“每日”传递给记录器构造函数。或者,您可以将要保持旋转的最大文件大小和文件数传递给构造函数。

#!/usr/bin/env ruby require 'logger' log = Logger.new( 'log.txt', 'daily' ) log.debug "Once the log becomes at least one" log.debug "day old, it will be renamed and a" log.debug "new log.txt file will be created."

  • 发表于 2021-09-12 07:28
  • 阅读 ( 195 )
  • 分类:编程

你可能感兴趣的文章

如何选择正确的web编程语言

...语言?本文将提供一个问题清单,程序员应该问,以选择使用哪种语言。 ...

  • 发布于 2021-03-16 01:36
  • 阅读 ( 242 )

jekyll vs.gatsbyjs:哪个静态网站构建者构建了最好的网站?

...程语言的背景,你可能会发现这些建设者中的一个更容易使用。 ...

  • 发布于 2021-03-19 02:43
  • 阅读 ( 446 )

7统一游戏开发语言学习:哪种最好?

...ity对小型开发人员是免费的,并且有大量关于如何最好地使用编辑器来创建您的想法原型的教程。 ...

  • 发布于 2021-03-21 18:18
  • 阅读 ( 258 )

每个程序员都应该知道的13个最好的浏览器ide

...在开发最新的web应用程序还是在第一次学习一门语言,您使用的环境都应该是方便易用的。 ...

  • 发布于 2021-03-21 19:14
  • 阅读 ( 440 )

想学编程吗?你应该知道的5个关键术语

...记住术语和它们的定义,而是试图阐明在编程环境中如何使用这些术语以及为什么使用这些术语的逻辑。 ...

  • 发布于 2021-03-23 09:19
  • 阅读 ( 307 )

使用静态站点生成器快速构建网站

... 欢迎使用MakeUseOf指南来使用静态站点生成器。在本指南中,我们将介绍什么是静态站点生成器(SSG),为什么要使用它,以及如何使用它构建一个全新的站点。我们将探讨的一...

  • 发布于 2021-03-25 19:23
  • 阅读 ( 309 )

如何在github上创建第一个存储库

...储库的名称和描述可以是您想要的任何内容,在本例中,使用“muo\u demo”作为名称。其余字段保持原样/空白,然后单击“创建新存储库”按钮。您将进入一个显示新的空白存储库的页面。 ...

  • 发布于 2021-03-28 23:04
  • 阅读 ( 221 )

如何在Windows10中检查打印的文档历史记录

...内容可能有点难以监控。由于您的碳粉量无法显示附件的使用量,因此您需要在Windows10中启用日志记录。下面是方法。 为最近打印的文档启用日志记录 默认情况下,打印的文档历史记录将在每个文档完成打印后擦除。您可以更...

  • 发布于 2021-04-02 23:47
  • 阅读 ( 324 )

作者如何使用github存储他们的作品

...比如Dropbox)或在线编辑器(比如googledocs),而有些人则使用桌面应用程序(比如microsoftword)。我用一种叫做GitHub的东西。 github:它不仅仅是为了代码 我使用Git和GitHub来存储和访问我所有的写作。Git是一个有效的工具,您可以...

  • 发布于 2021-04-03 05:21
  • 阅读 ( 173 )

如何在ubuntu上查看和写入系统日志文件

...入系统日志-在脚本**别有用。 以图形方式查看日志 要使用易于使用的图形化应用程序查看日志文件,请从仪表板打开日志文件查看器应用程序。 默认情况下,日志文件查看器显示许多日志,包括系统日志(syslog)、包管理器...

  • 发布于 2021-04-12 08:53
  • 阅读 ( 138 )
fsjzypwigm
fsjzypwigm

0 篇文章

相关推荐