使用记录器库-如何以Ruby编写日志消息

使用Ruby中的记录器库是跟踪代码出现问题的简单方法。如果出现问题,详细说明导致错误的确切事件可以节省您数小时查找错误。随着程序越来越大,越来越复杂,您可能需要添加一种写入日志消息的方法。Ruby提供了许多有用的类和库,称为标准库。其中包括记录器库,它提供优先级和旋转日志记录。

基本用法

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

#!/usr/bin/env ruby
require'记录器'
log=记录器(&)39;log.txt')
log.debug"创建日志文件"

优先级

每个日志消息都有优先级。这些优先级使得搜索日志文件中的严重消息变得简单,并且当它们不需要时,记录器对象自动过滤掉较小的消息。你可以认为这有点像你当天的待办事项清单。有些事情**必须完成,有些事情真的应该完成,有些事情可以推迟到你有时间做。

在前一个示例中,优先级为debug,这是所有优先级中最不重要的(如果您愿意,您的待办列表中的"推迟到您有时间")。日志消息优先级从最小到最重要的顺序如下:debug,info,warn,error和fatal。要设置记录器应忽略的消息级别,请使用level属性。

#!/usr/bin/env ruby
require'记录器'
log=记录器(&)39;log.txt')
日志级=记录器::警告
log.debug"这将被忽略"
日志错误"这不会被忽略"

您可以创建尽可能多的日志消息,并且可以记录程序所做的每一件小事情,这使得优先级非常有用。当您'重新运行程序时,您可以将记录器级别保留在警告或错误等内容上以捕获重要内容。然后,如果出现问题,您可以降低记录器级别(在源代码中或使用命令行开关)以获取更多信息。

Rotation

记录器库还支持日志旋转。日志旋转可防止日志变得太大,并有助于搜索旧日志。启用日志旋转并且日志达到一定大小或特定年龄时,记录器库将重命名该文件并创建新的日志文件。旧的日志文件也可以配置为在某个年龄之后删除(or"退出旋转")。

要启用日志旋转,请向记录器生成器传递科普病毒'每月','每周',或'每日'。可选地,您可以传递最大文件大小和文件数量以保持循环给生成器。

#!/usr/bin/env ruby
require'记录器'
log=记录器(&)39;log.txt','每日')
log.debug"一旦日志至少变为一个"
log.debug"日龄,它将被重命名并且a"
log.debug"新日志文件将被创建。"