Class: LoggingElf::GelfAppender

Inherits:
Logging::Appender
  • Object
show all
Defined in:
lib/logging_elf/gelf_appender.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ GelfAppender

Returns a new instance of GelfAppender.



10
11
12
13
14
# File 'lib/logging_elf/gelf_appender.rb', line 10

def initialize(opts = {})
  super "gelf", opts
  @logger = GELF::Logger.new(
    opts[:graylog_host], opts[:graylog_port], "WAN")
end

Instance Attribute Details

#loggerObject

Returns the value of attribute logger.



9
10
11
# File 'lib/logging_elf/gelf_appender.rb', line 9

def logger
  @logger
end

Instance Method Details

#write(event) ⇒ Object



16
17
18
19
20
# File 'lib/logging_elf/gelf_appender.rb', line 16

def write(event)
  return if event.data.is_a?(String) && event.data.blank?
  message = GelfData.from_log_event event
  @logger.notify! message.to_gelf
end