当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Ruby Logger类用法及代码示例

本文简要介绍ruby语言中 Syslog::Logger类 的用法。

Syslog::Logger 是一个 Logger work-alike,它通过系统日志而不是文件记录。您可以使用 Syslog::Logger 在多台机器之间聚合日志。

默认情况下, Syslog::Logger 使用程序名称 ‘ruby’,但这可以通过 Syslog::Logger.new 的第一个参数进行更改。

笔记!第一次初始化 Syslog::Logger 时只能设置 Syslog::Logger 程序名。这是 Syslog::Logger 使用 syslog 方式的限制(在某些方面,也是 syslog(3) 工作方式的限制)。在第一次初始化后尝试更改 Syslog::Logger 的程序名称将被忽略。

示例

以下将记录到本地计算机上的 syslogd:

require 'syslog/logger'

log = Syslog::Logger.new 'my_program'
log.info 'this line will be logged via syslog(3)'

还可以设置设施以指定将使用的设施级别:

log.info 'this line will be logged using Syslog default facility level'

log_local1 = Syslog::Logger.new 'my_program', Syslog::LOG_LOCAL1
log_local1.info 'this line will be logged using local1 facility level'

您可能需要先执行一些syslog.conf 设置。对于 BSD 机器,将以下行添加到 /etc/syslog.conf:

!my_program
*.*                                             /var/log/my_program.log

然后触摸 /var/log/my_program.log 并使用 HUP(killall -HUP syslogd,在 FreeBSD 上)向 syslogd 发出信号。

如果您希望日志自动翻转和存档,请参阅 newsyslog.conf(5) 和 newsyslog(8) 手册页。

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Logger类。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。