class Sqreen::Logger
Wrapper class for sqreen logging
Constants
- SEVERITY_TO_METHOD
Public Class Methods
new(desired_level, log_location, force_logger = nil)
click to toggle source
# File lib/sqreen/logger.rb, line 20 def initialize(desired_level, log_location, force_logger = nil) if force_logger @logger = force_logger else init_logger_output(log_location) end init_log_level(desired_level) enforce_log_format(@logger) create_error_logger end
Public Instance Methods
add(severity, msg = nil, &block)
click to toggle source
# File lib/sqreen/logger.rb, line 72 def add(severity, msg = nil, &block) send(SEVERITY_TO_METHOD[severity], msg, &block) end
debug(msg = nil, &block)
click to toggle source
# File lib/sqreen/logger.rb, line 51 def debug(msg = nil, &block) @logger.debug(msg, &block) end
debug?()
click to toggle source
# File lib/sqreen/logger.rb, line 31 def debug? @logger.debug? end
error(msg = nil, &block)
click to toggle source
# File lib/sqreen/logger.rb, line 63 def error(msg = nil, &block) @error_logger.error(msg, &block) @logger.error(msg, &block) end
error?()
click to toggle source
# File lib/sqreen/logger.rb, line 43 def error? @logger.error? end
fatal?()
click to toggle source
# File lib/sqreen/logger.rb, line 47 def fatal? @logger.fatal? end
info(msg = nil, &block)
click to toggle source
# File lib/sqreen/logger.rb, line 55 def info(msg = nil, &block) @logger.info(msg, &block) end
info?()
click to toggle source
# File lib/sqreen/logger.rb, line 35 def info? @logger.info? end
unknown(msg = nil, &block)
click to toggle source
# File lib/sqreen/logger.rb, line 68 def unknown(msg = nil, &block) @logger.unknown(msg, &block) end
warn(msg = nil, &block)
click to toggle source
# File lib/sqreen/logger.rb, line 59 def warn(msg = nil, &block) @logger.warn(msg, &block) end
warn?()
click to toggle source
# File lib/sqreen/logger.rb, line 39 def warn? @logger.warn? end
Protected Instance Methods
create_error_logger()
click to toggle source
# File lib/sqreen/logger.rb, line 100 def create_error_logger @error_logger = Kernel.const_defined?('MiniTest') ? NullLogger.instance : ::Logger.new(STDERR) enforce_log_format(@error_logger) end
enforce_log_format(logger)
click to toggle source
# File lib/sqreen/logger.rb, line 105 def enforce_log_format(logger) logger.formatter = Sqreen::FormatterWithTid.new end
init_log_level(level)
click to toggle source
# File lib/sqreen/logger.rb, line 92 def init_log_level(level) log_level = ::Logger.const_get(level) @logger.level = log_level Sqreen::PerformanceNotifications::Log.enable if level == 'DEBUG' return if level != 'DEBUG' && !Sqreen.config_get(:report_perf) Sqreen::PerformanceNotifications::LogPerformance.enable end
init_logger_output(path)
click to toggle source
# File lib/sqreen/logger.rb, line 78 def init_logger_output(path) path = File.expand_path(path) if File.writable?(path) || File.writable?(File.dirname(path)) @logger = ::Logger.new(path) else @logger = ::Logger.new(STDOUT) @logger.info("Cannot access #{path} for writing. Defaulting to stdout") end rescue StandardError => e @logger = ::Logger.new(STDOUT) @logger.error('Got error while trying to setting logger up, '\ "falling back to stdout #{e.inspect}") end