Module: Sinatra::SensibleLogging

Defined in:
lib/sensible_logging.rb

Overview

Sensible logging library for Sinatra based Apps

Instance Method Summary collapse

Instance Method Details

#sensible_logging(logger: Logger.new($stdout), log_tags: [], use_default_log_tags: true, exclude_params: [], tld_length: 1, include_log_severity: true) ⇒ Object

rubocop:disable Metrics/MethodLength, Metrics/ParameterLists



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/sensible_logging.rb', line 23

def sensible_logging( # rubocop:disable Metrics/MethodLength, Metrics/ParameterLists
  logger: Logger.new($stdout),
  log_tags: [],
  use_default_log_tags: true,
  exclude_params: [],
  tld_length: 1,
  include_log_severity: true
)
  setup_middlewares(
    logger: logger,
    log_tags: log_tags,
    use_default_log_tags: use_default_log_tags,
    exclude_params: exclude_params,
    tld_length: tld_length,
    include_log_severity: include_log_severity
  )

  before do
    env['rack.logger'] = env['logger']
    env['rack.errors'] = IOWrap.new(logger, level: Logger::ERROR)
    logger.level = settings.log_level unless settings.log_level.nil?
  end
end