Class: RailsGraylogger::Notifier

Inherits:
Object
  • Object
show all
Defined in:
lib/rails-graylogger/notifier.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeNotifier

Returns a new instance of Notifier.



10
11
12
# File 'lib/rails-graylogger/notifier.rb', line 10

def initialize
  @gelf_notifier = GELF::Notifier.new(remote_host, remote_port, 1420, facility: facility, host: sender_host)
end

Class Method Details

.notify!(gelf_message) ⇒ Object



4
5
6
7
# File 'lib/rails-graylogger/notifier.rb', line 4

def notify!(gelf_message)
  @@notifier ||= self.new
  @@notifier.notify!(gelf_message)
end

Instance Method Details

#facilityObject



22
23
24
# File 'lib/rails-graylogger/notifier.rb', line 22

def facility
  ENV["GRAYLOG_FACILITY"] || "Rails"
end

#notify!(gelf_message) ⇒ Object



30
31
32
33
# File 'lib/rails-graylogger/notifier.rb', line 30

def notify!(gelf_message)
  return if Rails.env == 'test'
  @gelf_notifier.notify!(gelf_message.merge(timestamp: Time.now.utc.to_f))
end

#remote_hostObject



14
15
16
# File 'lib/rails-graylogger/notifier.rb', line 14

def remote_host
  ENV["GRAYLOG_HOST"] || "127.0.0.1"
end

#remote_portObject



18
19
20
# File 'lib/rails-graylogger/notifier.rb', line 18

def remote_port
  ENV["GRAYLOG_PORT"] || 12201
end

#sender_hostObject



26
27
28
# File 'lib/rails-graylogger/notifier.rb', line 26

def sender_host
  Socket.gethostname.split(".").first
end