Class: NameTaggedCeeSyslogger::Logger

Inherits:
Syslogger
  • Object
show all
Defined in:
lib/name_tagged_cee_syslogger/logger.rb

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ Logger

Returns a new instance of Logger.



4
5
6
7
8
# File 'lib/name_tagged_cee_syslogger/logger.rb', line 4

def initialize(*args)
  super
  @formatter = CeeFormatter.new
  after_initialize if respond_to? :after_initialize
end

Instance Method Details

#add(severity, message = nil, progname = nil, &block) ⇒ Object

wraps message with merge_tags



11
12
13
14
15
16
17
18
# File 'lib/name_tagged_cee_syslogger/logger.rb', line 11

def add(severity, message = nil, progname = nil, &block)
  if message.nil? && block.nil? && !progname.nil?
    message, progname = progname, nil
  end
  message = merge_tags(message || block && block.call)

  super(severity, message, progname)
end

#merge_tags(message) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/name_tagged_cee_syslogger/logger.rb', line 25

def merge_tags(message)
  if message.is_a?(Hash)
    message = message.each_with_object({}) do |(k,v), acc|
      acc[k.to_sym] = v
    end
  else
    message = { msg: message }
  end

  message = current_tags.merge(message)

  message
end

#tagged(tags, *_) ⇒ Object



39
40
41
42
43
44
45
46
47
48
# File 'lib/name_tagged_cee_syslogger/logger.rb', line 39

def tagged(tags, *_)
  old_tags = current_tags.dup

  begin
    add_tags(tags)
    yield self
  ensure
    set_tags(old_tags)
  end
end

#tags_textObject

prevent default tag behavior



21
22
23
# File 'lib/name_tagged_cee_syslogger/logger.rb', line 21

def tags_text
  ""
end