gelf 1.1.0.beta2 → 1.1.0.beta3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.0.beta2
1
+ 1.1.0.beta3
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{gelf}
8
- s.version = "1.1.0.beta2"
8
+ s.version = "1.1.0.beta3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Alexey Palazhchenko", "Lennart Koopmann"]
12
- s.date = %q{2010-11-25}
12
+ s.date = %q{2010-11-26}
13
13
  s.description = %q{Suports plain-text, GELF messages and exceptions.}
14
14
  s.email = %q{lennart@socketfeed.com}
15
15
  s.extra_rdoc_files = [
@@ -6,13 +6,15 @@ module GELF
6
6
  attr_accessor :last_chunk_id
7
7
  end
8
8
 
9
- attr_accessor :host, :port, :default_options
9
+ attr_accessor :host, :port, :default_options, :enabled
10
10
  attr_reader :max_chunk_size, :level
11
11
 
12
12
  # +host+ and +port+ are host/ip and port of graylog2-server.
13
13
  # +max_size+ is passed to max_chunk_size=.
14
14
  # +default_options+ is used in notify!
15
15
  def initialize(host = 'localhost', port = 12201, max_size = 'WAN', default_options = {})
16
+ @enabled = true
17
+
16
18
  self.level = GELF::DEBUG
17
19
 
18
20
  self.host, self.port, self.max_chunk_size = host, port, max_size
@@ -40,7 +42,19 @@ module GELF
40
42
  end
41
43
 
42
44
  def level=(new_level)
43
- @level = new_level
45
+ @level = if new_level.is_a?(Fixnum)
46
+ new_level
47
+ else
48
+ GELF.const_get(new_level.to_s.upcase)
49
+ end
50
+ end
51
+
52
+ def disable
53
+ @enabled = false
54
+ end
55
+
56
+ def enable
57
+ @enabled = true
44
58
  end
45
59
 
46
60
  # Same as notify!, but rescues all exceptions (including +ArgumentError+)
@@ -79,6 +93,7 @@ module GELF
79
93
  end
80
94
 
81
95
  def notify_with_level!(message_level, *args)
96
+ return unless @enabled
82
97
  extract_hash(*args)
83
98
  @hash['level'] = message_level unless message_level.nil?
84
99
  if @hash['level'] >= level
@@ -125,6 +125,13 @@ class TestNotifier < Test::Unit::TestCase
125
125
  @notifier.level = GELF::WARN
126
126
  end
127
127
 
128
+ ['debug', 'DEBUG', :debug].each do |l|
129
+ should "allow to set threshold as #{l.inspect}" do
130
+ @notifier.level = l
131
+ assert_equal GELF::DEBUG, @notifier.level
132
+ end
133
+ end
134
+
128
135
  should "not send notifications with level below threshold" do
129
136
  @sender.expects(:send_datagrams).never
130
137
  @notifier.notify!(HASH.merge('level' => GELF::DEBUG))
@@ -136,6 +143,29 @@ class TestNotifier < Test::Unit::TestCase
136
143
  end
137
144
  end
138
145
 
146
+ context "when disabled" do
147
+ setup do
148
+ @notifier.disable
149
+ end
150
+
151
+ should "not send datagrams" do
152
+ @sender.expects(:send_datagrams).never
153
+ @notifier.expects(:extract_hash).never
154
+ @notifier.notify!(HASH)
155
+ end
156
+
157
+ context "and enabled again" do
158
+ setup do
159
+ @notifier.enable
160
+ end
161
+
162
+ should "send datagrams" do
163
+ @sender.expects(:send_datagrams)
164
+ @notifier.notify!(HASH)
165
+ end
166
+ end
167
+ end
168
+
139
169
  should "pass valid data to sender" do
140
170
  @sender.expects(:send_datagrams).with do |datagrams|
141
171
  datagrams.is_a?(Array) && datagrams[0].is_a?(String)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gelf
3
3
  version: !ruby/object:Gem::Version
4
- hash: -1848230062
4
+ hash: -1848230061
5
5
  prerelease: true
6
6
  segments:
7
7
  - 1
8
8
  - 1
9
9
  - 0
10
- - beta2
11
- version: 1.1.0.beta2
10
+ - beta3
11
+ version: 1.1.0.beta3
12
12
  platform: ruby
13
13
  authors:
14
14
  - Alexey Palazhchenko
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2010-11-25 00:00:00 +03:00
20
+ date: 2010-11-26 00:00:00 +03:00
21
21
  default_executable:
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency