Sha256: 5471cbfeab684645da0f36966baa5a8e686b06629c50ff459ddf8b59e307b4f6
Contents?: true
Size: 1.94 KB
Versions: 3
Compression:
Stored size: 1.94 KB
Contents
require 'logger' module Skylight module Util # Log both to the specified logger and STDOUT class AlertLogger def initialize(logger) @logger = logger end def write(*args) STDERR.write *args # Try to avoid writing to STDOUT/STDERR twice logger_logdev = @logger.instance_variable_get(:@logdev) logger_out = logger_logdev && logger_logdev.respond_to?(:dev) ? logger_logdev.dev : nil if logger_out != STDOUT && logger_out != STDERR @logger.<<(*args) end end def close end end module Logging def self.trace? ENV[TRACE_ENV_KEY] end if trace? def trace(msg, *args) log :debug, msg, *args end def t log :debug, yield end else def trace(*) end def t end end def debug(msg, *args) log :debug, msg, *args end def info(msg, *args) log :info, msg, *args end def warn(msg, *args) log :warn, msg, *args end def error(msg, *args) raise msg if ENV['SKYLIGHT_RAISE_ON_ERROR'] log :error, msg, *args end alias log_trace trace alias log_debug debug alias log_info info alias log_warn warn alias log_error error alias fmt sprintf def log(level, msg, *args) return unless respond_to?(:config) return unless c = config if logger = c.logger return unless logger.respond_to?(level) if args.length > 0 logger.send level, sprintf("[SKYLIGHT] [#{Skylight::VERSION}] #{msg}", *args) else logger.send level, "[SKYLIGHT] [#{Skylight::VERSION}] #{msg}" end end rescue Exception => e if ENV[TRACE_ENV_KEY] puts "[ERROR] #{e.message}" puts e.backtrace end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
skylight-0.10.6 | lib/skylight/util/logging.rb |
skylight-0.10.5 | lib/skylight/util/logging.rb |
skylight-0.10.4 | lib/skylight/util/logging.rb |