Sha256: 68ebc17506dfa5017cd5f15113993ae550945f2a51afa8c9fe510f6ef5df2a8d
Contents?: true
Size: 946 Bytes
Versions: 2
Compression:
Stored size: 946 Bytes
Contents
require 'logger' module Madvertise module Logging ## # DocumentLogger is a Logger compliant class that keeps a structured # document per log message in memory. # class DocumentLogger < ::Logger attr_accessor :attrs attr_accessor :messages def initialize super(nil) @messages = [] @attrs = {} end def add(severity, message = nil, progname = nil, &block) severity ||= UNKNOWN if severity < @level return true end progname ||= @progname if message.nil? if block_given? message = yield else message = progname progname = @progname end end @messages << @attrs.merge({ severity: severity, time: Time.now, progname: progname, message: message, }) true end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
madvertise-logging-0.8.1 | lib/madvertise/logging/document_logger.rb |
madvertise-logging-0.8.0 | lib/madvertise/logging/document_logger.rb |