class Rack::LogProxy
Public Class Methods
new(logger)
click to toggle source
# File lib/rack/simple_logger/log_proxy.rb, line 5 def initialize(logger) case logger.class.to_s when "Logger" @logger = logger @log_type = :logger when "String", "IO" @logger = ::Logger.new(logger) @log_type = :logger when "Mongo::Collection" @logger = logger @log_type = :mongo else @logger = logger @log_type = :other end logger_formatter if @log_type == :logger end
Public Instance Methods
write(log_hash)
click to toggle source
# File lib/rack/simple_logger/log_proxy.rb, line 24 def write(log_hash) send("write_#{@log_type}", log_hash) end
write_logger(log_hash)
click to toggle source
# File lib/rack/simple_logger/log_proxy.rb, line 28 def write_logger(log_hash) @logger.info log_hash.map{|k,v| [k, v].join(":")}.join("\t") end
write_mongo(log_hash)
click to toggle source
# File lib/rack/simple_logger/log_proxy.rb, line 32 def write_mongo(log_hash) @logger.insert log_hash end
write_other(log_hash)
click to toggle source
# File lib/rack/simple_logger/log_proxy.rb, line 36 def write_other(log_hash) @logger.write log_hash end
Private Instance Methods
logger_formatter()
click to toggle source
# File lib/rack/simple_logger/log_proxy.rb, line 41 def logger_formatter @logger.formatter = Proc.new do |severity, datetime, progname, msg| "#{msg}\n" end end