Class: GELF::Notifier
- Inherits:
-
Object
- Object
- GELF::Notifier
- Defined in:
- lib/gelf/notifier.rb
Overview
Graylog2 notifier.
Direct Known Subclasses
Constant Summary
Class Attribute Summary (collapse)
-
+ (Object) last_chunk_id
Returns the value of attribute last_chunk_id.
Instance Attribute Summary (collapse)
-
- (Object) collect_file_and_line
Returns the value of attribute collect_file_and_line.
-
- (Object) default_options
Returns the value of attribute default_options.
-
- (Object) enabled
Returns the value of attribute enabled.
-
- (Object) level
Returns the value of attribute level.
-
- (Object) level_mapping
Returns the value of attribute level_mapping.
-
- (Object) max_chunk_size
Returns the value of attribute max_chunk_size.
-
- (Object) rescue_network_errors
Returns the value of attribute rescue_network_errors.
Instance Method Summary (collapse)
-
- (Object) addresses
Get a list of receivers.
-
- (Object) addresses=(addrs)
Set a list of receivers.
- - (Object) disable
- - (Object) enable
- - (Object) host
-
- (Notifier) initialize(host = 'localhost', port = 12201, max_size = 'WAN', default_options = {})
constructor
host and port are host/ip and port of graylog2-server.
-
- (Object) notify(*args)
Same as notify!, but rescues all exceptions (including ArgumentError) and sends them instead.
-
- (Object) notify!(*args)
Sends message to Graylog2 server.
- - (Object) port
Constructor Details
- (Notifier) initialize(host = 'localhost', port = 12201, max_size = 'WAN', default_options = {})
host and port are host/ip and port of graylog2-server. max_size is passed to max_chunk_size=. default_options is used in notify!
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/gelf/notifier.rb', line 15 def initialize(host = 'localhost', port = 12201, max_size = 'WAN', = {}) @enabled = true @collect_file_and_line = true self.level = GELF::DEBUG self.max_chunk_size = max_size self.rescue_network_errors = false self. = self.['version'] = SPEC_VERSION self.['host'] ||= Socket.gethostname self.['level'] ||= GELF::UNKNOWN self.['facility'] ||= 'gelf-rb' @sender = RubyUdpSender.new([[host, port]]) self.level_mapping = :logger end |
Class Attribute Details
+ (Object) last_chunk_id
Returns the value of attribute last_chunk_id
6 7 8 |
# File 'lib/gelf/notifier.rb', line 6 def last_chunk_id @last_chunk_id end |
Instance Attribute Details
- (Object) collect_file_and_line
Returns the value of attribute collect_file_and_line
9 10 11 |
# File 'lib/gelf/notifier.rb', line 9 def collect_file_and_line @collect_file_and_line end |
- (Object) default_options
Returns the value of attribute default_options
10 11 12 |
# File 'lib/gelf/notifier.rb', line 10 def @default_options end |
- (Object) enabled
Returns the value of attribute enabled
9 10 11 |
# File 'lib/gelf/notifier.rb', line 9 def enabled @enabled end |
- (Object) level
Returns the value of attribute level
10 11 12 |
# File 'lib/gelf/notifier.rb', line 10 def level @level end |
- (Object) level_mapping
Returns the value of attribute level_mapping
10 11 12 |
# File 'lib/gelf/notifier.rb', line 10 def level_mapping @level_mapping end |
- (Object) max_chunk_size
Returns the value of attribute max_chunk_size
10 11 12 |
# File 'lib/gelf/notifier.rb', line 10 def max_chunk_size @max_chunk_size end |
- (Object) rescue_network_errors
Returns the value of attribute rescue_network_errors
9 10 11 |
# File 'lib/gelf/notifier.rb', line 9 def rescue_network_errors @rescue_network_errors end |
Instance Method Details
- (Object) addresses
Get a list of receivers.
notifier.addresses # => [['localhost', 12201], ['localhost', 12202]]
35 36 37 |
# File 'lib/gelf/notifier.rb', line 35 def addresses @sender.addresses end |
- (Object) addresses=(addrs)
Set a list of receivers.
notifier.addresses = [['localhost', 12201], ['localhost', 12202]]
41 42 43 |
# File 'lib/gelf/notifier.rb', line 41 def addresses=(addrs) @sender.addresses = addrs end |
- (Object) disable
93 94 95 |
# File 'lib/gelf/notifier.rb', line 93 def disable @enabled = false end |
- (Object) enable
97 98 99 |
# File 'lib/gelf/notifier.rb', line 97 def enable @enabled = true end |
- (Object) host
45 46 47 48 |
# File 'lib/gelf/notifier.rb', line 45 def host warn "GELF::Notifier#host is deprecated. Use #addresses instead." self.addresses.first[0] end |
- (Object) notify(*args)
Same as notify!, but rescues all exceptions (including ArgumentError) and sends them instead.
103 104 105 |
# File 'lib/gelf/notifier.rb', line 103 def notify(*args) notify_with_level(nil, *args) end |
- (Object) notify!(*args)
Sends message to Graylog2 server. args can be:
-
hash-like object (any object which responds to to_hash, including Hash instance):
notify!(:short_message => 'All your rebase are belong to us', :user => 'AlekSi') -
exception with optional hash-like object:
notify!(SecurityError.new('ALARM!'), :trespasser => 'AlekSi') -
string-like object (anything which responds to to_s) with optional hash-like object:
notify!('Plain olde text message', :scribe => 'AlekSi')
Resulted fields are merged with default_options, the latter will never overwrite the former. This method will raise ArgumentError if arguments are wrong. Consider using notify instead.
117 118 119 |
# File 'lib/gelf/notifier.rb', line 117 def notify!(*args) notify_with_level!(nil, *args) end |
- (Object) port
50 51 52 53 |
# File 'lib/gelf/notifier.rb', line 50 def port warn "GELF::Notifier#port is deprecated. Use #addresses instead." self.addresses.first[1] end |