Class: Jersey::BaseLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/jersey/logging/base_logger.rb

Direct Known Subclasses

JSONLogger, LogfmtLogger

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ BaseLogger

Returns a new instance of BaseLogger.



5
6
7
8
# File 'lib/jersey/logging/base_logger.rb', line 5

def initialize(opts = {})
  @stream   = opts.fetch(:stream, $stdout)
  @defaults = opts.fetch(:defaults, {})
end

Instance Attribute Details

#defaultsObject

Returns the value of attribute defaults.



3
4
5
# File 'lib/jersey/logging/base_logger.rb', line 3

def defaults
  @defaults
end

#streamObject

Returns the value of attribute stream.



3
4
5
# File 'lib/jersey/logging/base_logger.rb', line 3

def stream
  @stream
end

Instance Method Details

#<<(data) ⇒ Object



10
11
12
# File 'lib/jersey/logging/base_logger.rb', line 10

def <<(data)
  @defaults.merge!(data)
end

#log(data, &block) ⇒ Object



23
24
25
# File 'lib/jersey/logging/base_logger.rb', line 23

def log(data, &block)
  log_to_stream(stream, @defaults.merge(data), &block)
end

#reset!(key = nil) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/jersey/logging/base_logger.rb', line 14

def reset!(key = nil)
  if key
    @defaults.delete(key)
    @defaults.delete(key.to_sym)
  else
    @defaults.clear
  end
end