Sha256: d155ab8137c03d8ed9de69a17bf18d06bf30873758bbf24c12642cb41732d2b6
Contents?: true
Size: 989 Bytes
Versions: 14
Compression:
Stored size: 989 Bytes
Contents
require 'logger' module Logster class Logger < ::Logger LOGSTER_ENV = "logster_env".freeze attr_accessor :store, :skip_store def initialize(store) super(nil) @store = store end def chain(logger) @chained ||= [] @chained << logger end def add(severity, message, progname, &block) if severity < @level return true end if @chained i = 0 # micro optimise for logging while i < @chained.length # TODO double yielding blocks @chained[i].add(severity, message, progname, &block) i += 1 end end progname ||= @progname if message.nil? if block_given? message = yield else message = progname progname = @progname end end return if @skip_store @store.report(severity, progname, message, { env: Thread.current[LOGSTER_ENV] }) end end end
Version data entries
14 entries across 14 versions & 1 rubygems