Module: SBF::Client::DefaultLogger

Defined in:
lib/stbaldricks/default_logger.rb

Class Method Summary collapse

Class Method Details

.instance(default_stream = STDOUT) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/stbaldricks/default_logger.rb', line 6

def self.instance(default_stream = STDOUT)
  formatter = proc { |severity, datetime, _, msg|
    # ruby logger docs suggested this method for escaping messages since messages may contain user input
    # and are not escaped by default.
    #
    # I am allowing newlines, however, for formatting purposes
    "\n#{datetime}: #{severity} - #{msg.to_s.dump.gsub('\\n', "\n")}\n"
  }

  logger = ::Logger.new(default_stream)

  logger.formatter = formatter
  logger.level = ::Logger::DEBUG
  logger.level = ENV['SBF_CLIENT_LOG_LEVEL'] || ::Logger::DEBUG
  logger
end