Module: Logger::Metadata

Defined in:
lib/logger/metadata.rb,
lib/logger/metadata/railtie.rb,
lib/logger/metadata/version.rb,
lib/logger/metadata/formatter.rb,
lib/logger/metadata/middleware.rb

Overview

Metadata mixin for Ruby Logger

Defined Under Namespace

Modules: Formatter Classes: Middleware, Railtie

Constant Summary collapse

VERSION =
'0.1.1'.freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.default_formatterObject



36
37
38
39
40
41
42
# File 'lib/logger/metadata.rb', line 36

def self.default_formatter
  if defined?(ActiveSupport::Logger::SimpleFormatter)
    ActiveSupport::Logger::SimpleFormatter
  else
    Logger::Formatter
  end.new
end

.inject(logger) ⇒ Object



30
31
32
33
34
# File 'lib/logger/metadata.rb', line 30

def self.inject(logger)
  logger.formatter ||= default_formatter
  logger.formatter.extend Formatter
  logger.extend(self)
end

Instance Method Details

#clear_metadata!(*args, &block) ⇒ Object



26
27
28
# File 'lib/logger/metadata.rb', line 26

def clear_metadata!(*args, &block)
  formatter.clear_metadata!(*args, &block)
end

#flushObject



9
10
11
12
# File 'lib/logger/metadata.rb', line 9

def flush
  clear_metadata!
  super if defined?(super)
end

#metadata(attributes) ⇒ Object



14
15
16
# File 'lib/logger/metadata.rb', line 14

def (attributes)
  formatter.(attributes) { yield self }
end

#pop_metadata(*args, &block) ⇒ Object



22
23
24
# File 'lib/logger/metadata.rb', line 22

def (*args, &block)
  formatter.(*args, &block)
end

#push_metadata(*args, &block) ⇒ Object



18
19
20
# File 'lib/logger/metadata.rb', line 18

def (*args, &block)
  formatter.(*args, &block)
end