Class: DogLog
Overview
Logging facility for the watchdog
Class Method Summary collapse
- .get_log_io ⇒ Object
-
.logger ⇒ Object
If nothing is configured, we log to STDERR by default.
-
.setup(logfile, severity) ⇒ Object
Set the log file and severity.
Class Method Details
.get_log_io ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'lib/dog_log.rb', line 35 def get_log_io return @logfile if(@logfile.kind_of?(IO)) if(Module.constants.member?(@logfile.upcase)) const = Module.const_get(@logfile.upcase) return const if(const.kind_of?(IO)) end File.open(@logfile, 'a') end |
.logger ⇒ Object
If nothing is configured, we log to STDERR by default
27 28 29 30 31 32 33 |
# File 'lib/dog_log.rb', line 27 def logger @logger ||= begin logger = Logger.new(get_log_io, 3) logger.level = @severity logger end end |
.setup(logfile, severity) ⇒ Object
Set the log file and severity. This will reset the current logger, but should not usually be called on an active log.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/dog_log.rb', line 10 def setup(logfile, severity) @logfile = logfile || STDERR @severity = if(severity) severity.is_a?(Fixnum) ? severity : Logger.const_get(severity.upcase) else Logger::DEBUG end if(@logger) assit_fail('Resetting logfile') @logger.close if(@logger.respond_to?(:close)) @logger = nil end rescue NameError => e raise(NameError, "Problems setting the log level: #{severity} (#{e.})") end |