From 044477406fafcc8ad5b371027665a675e95a6210 Mon Sep 17 00:00:00 2001 From: Saku Ytti Date: Thu, 27 Feb 2014 13:39:04 +0200 Subject: Switch to syslog instead of file 1.9.3 does not have Syslog::Logger so in 1.9.3 keep on logging to files --- lib/oxidized/config/core.rb | 2 +- lib/oxidized/log.rb | 26 +++++++++++++++++--------- 2 files changed, 18 insertions(+), 10 deletions(-) (limited to 'lib') diff --git a/lib/oxidized/config/core.rb b/lib/oxidized/config/core.rb index ec08dab..59ada3a 100644 --- a/lib/oxidized/config/core.rb +++ b/lib/oxidized/config/core.rb @@ -28,6 +28,6 @@ module Oxidized CFG = Config.new CFG.defaults CFG.load - Log.file = CFG.log if CFG.log Log.level = Logger::INFO unless CFG.debug + Log.file = CFG.log if CFG.log end diff --git a/lib/oxidized/log.rb b/lib/oxidized/log.rb index db39462..9e77646 100644 --- a/lib/oxidized/log.rb +++ b/lib/oxidized/log.rb @@ -1,13 +1,21 @@ module Oxidized - require 'logger' - class Logger < Logger - def initialize target=STDOUT - super target - self.level = Logger::DEBUG - end - def file= target - @logdev = LogDevice.new target + + begin + require 'syslog/logger' + Log = Syslog::Logger.new 'oxidized' + Log.define_singleton_method(:file=){|arg|} + rescue LoadError + # 1.9.3 has no love for syslog + require 'logger' + class Logger < Logger + def initialize target=STDOUT + super target + end + def file= target + @logdev = LogDevice.new target + end end + Log = Logger.new end - Log = Logger.new + end -- cgit v1.2.1