class TransmissionRSS::Log
Encapsulates Logger as a singleton class.
Public Class Methods
new(target = $stderr, level = :debug)
click to toggle source
# File lib/transmission-rss/log.rb, line 9 def initialize(target = $stderr, level = :debug) @target = target @level = level @logger = Logger.new(target) @logger.level = to_level_const(level) @logger.formatter = proc do |sev, time, _, msg| time = time.strftime('%Y-%m-%d %H:%M:%S') "#{time} (#{sev.downcase}) #{msg}\n" end end
Public Instance Methods
level=(level)
click to toggle source
Change log level (String or Symbol)
# File lib/transmission-rss/log.rb, line 32 def level=(level) initialize(@target, level) end
method_missing(sym, *args)
click to toggle source
If this class misses a method, call it on the encapsulated Logger class.
# File lib/transmission-rss/log.rb, line 37 def method_missing(sym, *args) @logger.send(sym, *args) end
target=(target)
click to toggle source
Change log target (IO, path to a file as String, or Symbol for IO constant).
# File lib/transmission-rss/log.rb, line 23 def target=(target) if target.is_a? Symbol target = Object.const_get(target.to_s.upcase) end initialize(target, @level) end
Private Instance Methods
to_level_const(level)
click to toggle source
# File lib/transmission-rss/log.rb, line 43 def to_level_const(level) Object.const_get('Logger::' + level.to_s.upcase) end