Sha256: 0c890248b1754d9fb2a575376dff366a3370c9a6ce8136cb7c3c9b7a70d71367

Contents?: true

Size: 1020 Bytes

Versions: 1

Compression:

Stored size: 1020 Bytes

Contents

module Graylog2Rails
  class Notifier
    attr_reader :gelf

    def initialize(args = {})
      @gelf = GELF::Notifier.new(Graylog2Rails.gelf_config_options["host"],
                                 Graylog2Rails.gelf_config_options["port"],
                                 Graylog2Rails.gelf_config_options["max_chunk_size"], {
                                   facility: Graylog2Rails.gelf_config_options["facility"],
                                   level: args.has_key?("level") ? args["level"] : Graylog2Rails.gelf_config_options["level"],
                                   host: Graylog2Rails.gelf_config_options["local_app_name"]
                                 })
    end

    def self.notify! args
      @notifier ||= new
      timestamp = Time.now.utc
      Rails.logger.tagged("GRAYLOG") do
        Rails.logger.info "[#{timestamp.to_datetime}] #{args.inspect}"
      end
      args.merge!({timestamp: timestamp.to_f})
      @notifier.gelf.notify! args unless Rails.env.development?
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
graylog2-rails-0.0.1 lib/graylog2-rails/notifier.rb