Project

sys_logger

0.0
No commit activity in last 3 years
No release in over 3 years
Syslogモジュールラッパ.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.0.0
~> 1.8.3
~> 3.12
~> 2.8.0
 Project Readme

sys_logger¶ ↑

Loggerクラスと互換性を持ったSyslogモジュールラッパ。各インスタンス毎に任意のfacilityを設定することが出来ます。

インストール¶ ↑

bundlerを利用する場合¶ ↑

Gemfileに以下の記述を追加して、bundle install を実行してください。

gem 'sys_logger'

bundlerを利用しない場合¶ ↑

以下のコマンドを実行してください。

gem install sys_logger

使用例¶ ↑

基本的な利用方法¶ ↑

logger = SysLogger.new
logger.info('INFO MESSAGE!!')

facilityを設定する¶ ↑

ロガーインスタンスに対してfacilityを設定することができます。facilityの設定をしない場合はSyslog.open等でsyslogがオープンされた際に指定された値となります。

local1_logger = SysLogger.new
local1_logger.facility = SysLogger::LOG_LOCAL1
local1_logger.info('INFO MESSAGE!!')

mail_logger = SysLogger.new
mail_logger.facility = SysLogger::LOG_MAIL
mail_logger.info('MAIL MESSAGE!!')

プログラム名を設定する¶ ↑

ログメッセージと一緒に記録するプログラム名を任意に設定することができます。この値は、Syslog.identとは関係なく、ログメッセージの前に「: 」区切りで記録されます。

logger = SysLogger.new
logger.progname = "logger.rb"
logger.info('INFO MESSAGE!!') # 例:) Jan  1 01:01:01 irb[1000]: logger.rb: INFO MESSAGE!!

syslogの設定をする¶ ↑

Syslogモジュールに存在するメソッドは、SysLoggerでも同じように呼び出すことが出来ます。内部的にはSyslogモジュールに移譲しているだけなので、どちらで呼び出しても同じです。

例)ident, facility, optionsを設定する場合

# 以下の2つは同じ結果となる
SysLogger.reopen('foo', SysLogger::LOG_MAIL, SysLogger::LOG_PERROR || SysLogger::LOG_PID)
Syslog.reopen('foo', Syslog::LOG_MAIL, Syslog::LOG_PERROR || Syslog::LOG_PID)

SysLoggerクラスをインスタンス化した際に、Syslog.openが実行されていない場合、自動的にSyslog.openメソッドが引数無しで実行されます。identやフラグなどのオプションを設定したい場合は、SysLoggerをインスタンス化する前にSyslog.openメソッドで設定するか、Syslog.reopen,Syslog.open!メソッドを利用してください。

Copyright © 2012 Synergy Marketing, Inc. See LICENSE for details.