Sha256: 9ce4ea0fd95e29d44c7fbca82eb1b060d0b8a47d37b90451825a351223b76ef2
Contents?: true
Size: 996 Bytes
Versions: 3
Compression:
Stored size: 996 Bytes
Contents
require "cabin" # Wrap Ruby stdlib's logger. This allows you to output to a normal ruby logger # with Cabin. Since Ruby's Logger has a love for strings alone, this # wrapper will convert the data/event to ruby inspect format before sending it # to Logger. class Cabin::Outputs::StdlibLogger public def initialize(logger) @logger = logger @logger.level = logger.class::DEBUG end # def initialize # Receive an event public def <<(event) if !event.include?(:level) event[:level] = :info end method = event[:level].downcase.to_sym || :info event.delete(:level) data = event.clone # delete things from the 'data' portion that's not really data. data.delete(:message) data.delete(:timestamp) message = "#{event[:message]} #{data.inspect}" #p [@logger.level, logger.class::DEBUG] # This will call @logger.info(data) or something similar. @logger.send(method, message) end # def << end # class Cabin::Outputs::StdlibLogger
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cabin-0.6.1 | lib/cabin/outputs/stdlib-logger.rb |
cabin-0.6.0 | lib/cabin/outputs/stdlib-logger.rb |
cabin-0.5.0 | lib/cabin/outputs/stdlib-logger.rb |