padrino_gelflogger 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -8,3 +8,5 @@ Rake::TestTask.new do |t|
8
8
  t.libs << "spec"
9
9
  t.verbose = true
10
10
  end
11
+
12
+ task :default => :test
@@ -1,14 +1,14 @@
1
1
  module Padrino
2
2
  class GelfLogger < GELF::Notifier
3
3
  attr_accessor :level
4
-
4
+
5
5
  LevelMappings = {
6
6
  fatal: 4,
7
7
  error: 3,
8
8
  warn: 2,
9
9
  info: 1,
10
10
  debug: 0,
11
- devel: 0
11
+ devel: 0
12
12
  }
13
13
 
14
14
  LevelMappings.each_pair do |name, number|
@@ -19,27 +19,35 @@ module Padrino
19
19
  push(args * '', name)
20
20
  end
21
21
  end
22
+
23
+ define_method("#{name}?") do
24
+ true
25
+ end
22
26
  end
23
-
27
+
24
28
  def log(*args)
25
29
  end
26
30
 
27
31
  def log_static(*args)
28
32
  end
29
-
33
+
34
+ def <<(msg)
35
+ push(msg, level)
36
+ end
37
+
30
38
  def push(message = nil, level = nil)
31
39
  msg = clean(message.to_s.strip)
32
40
  return if message.empty?
33
41
  notify_with_level(gelf_level(level), msg)
34
42
  end
35
-
43
+
36
44
  def bench(action, began_at, message, level=:debug, color=:yellow, full_message=nil)
37
45
  duration = ((Time.now - began_at) * 1000).to_i
38
46
  short_message = "(%s %dms) - %s" % [ action, duration, clean(message.to_s) ]
39
47
  options = {short_message: short_message, full_message: full_message, _Duration: duration, _Action: action}
40
48
  notify_with_level(gelf_level(level), options)
41
49
  end
42
-
50
+
43
51
  private
44
52
  def clean(message)
45
53
  message = message.to_s.dup
@@ -52,6 +60,6 @@ module Padrino
52
60
  level = :debug if level.nil?
53
61
  LevelMappings[level] || 0
54
62
  end
55
-
63
+
56
64
  end
57
65
  end
@@ -1,3 +1,3 @@
1
1
  module PadrinoGelflogger
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -4,60 +4,73 @@ describe Padrino::GelfLogger do
4
4
  include RR::Adapters::MiniTest
5
5
  padrino_levels = [:fatal, :error, :warn, :info, :debug, :devel]
6
6
 
7
+ attr_reader :logger
8
+
7
9
  before do
8
10
  @logger = Padrino::GelfLogger.new('0.0.0.0', 12201, 'WAN', :facility => 'Padrino::GelfLogger', :level => GELF::DEBUG)
9
11
  end
10
12
 
11
13
  it "#fatal" do
12
- mock(@logger).notify_with_level(4, "test")
13
- @logger.fatal "test"
14
+ mock(logger).notify_with_level(4, "test")
15
+ logger.fatal "test"
14
16
  end
15
17
 
16
18
  it "#error" do
17
- mock(@logger).notify_with_level(3, "test")
18
- @logger.error "test"
19
+ mock(logger).notify_with_level(3, "test")
20
+ logger.error "test"
19
21
  end
20
22
 
21
23
  it "#warn" do
22
- mock(@logger).notify_with_level(2, "test")
23
- @logger.warn "test"
24
+ mock(logger).notify_with_level(2, "test")
25
+ logger.warn "test"
24
26
  end
25
27
 
26
28
  it "#info" do
27
- mock(@logger).notify_with_level(1, "test")
28
- @logger.info "test"
29
+ mock(logger).notify_with_level(1, "test")
30
+ logger.info "test"
29
31
  end
30
32
 
31
33
  it "#debug" do
32
- mock(@logger).notify_with_level(0, "test")
33
- @logger.debug "test"
34
- end
34
+ mock(logger).notify_with_level(0, "test")
35
+ logger.debug "test"
36
+ end
35
37
 
36
38
  it "#devel" do
37
- mock(@logger).notify_with_level(0, "test")
38
- @logger.devel "test"
39
+ mock(logger).notify_with_level(0, "test")
40
+ logger.devel "test"
41
+ end
42
+
43
+ %w{fatal error warn info debug devel}.each do |supported_level|
44
+ it "supports ##{supported_level}?" do
45
+ assert logger.public_send("#{supported_level}?")
46
+ end
47
+ end
48
+
49
+ it '#<<' do
50
+ mock(logger).notify_with_level(logger.level, 'test')
51
+ logger << 'test'
39
52
  end
40
53
 
41
54
  it '#bench' do
42
- mock(@logger).notify_with_level(0, {short_message: '(action 1000ms) - short_message', full_message: nil, _Duration: 1000, _Action: 'action'})
55
+ mock(logger).notify_with_level(0, {short_message: '(action 1000ms) - short_message', full_message: nil, _Duration: 1000, _Action: 'action'})
43
56
  Timecop.freeze(Time.local(2012, 12, 20, 20, 12, 1)) do
44
- @logger.bench("action", Time.local(2012, 12, 20, 20, 12, 00), "short_message", level=:debug, color=:yellow)
57
+ logger.bench("action", Time.local(2012, 12, 20, 20, 12, 00), "short_message", level=:debug, color=:yellow)
45
58
  end
46
59
  end
47
60
 
48
61
  it '#bench with optional full_message' do
49
- mock(@logger).notify_with_level(0, {short_message: '(action 1000ms) - message', full_message: "full", _Duration: 1000, _Action: 'action'})
62
+ mock(logger).notify_with_level(0, {short_message: '(action 1000ms) - message', full_message: "full", _Duration: 1000, _Action: 'action'})
50
63
  Timecop.freeze(Time.local(2012, 12, 20, 20, 12, 1)) do
51
- @logger.bench("action", Time.local(2012, 12, 20, 20, 12, 00), "message", level=:debug, color=:yellow, full_message="full")
64
+ logger.bench("action", Time.local(2012, 12, 20, 20, 12, 00), "message", level=:debug, color=:yellow, full_message="full")
52
65
  end
53
66
  end
54
67
 
55
68
  it 'should respond to #log_static for sinatra and not log anything' do
56
- assert_respond_to @logger, :log_static
69
+ assert_respond_to logger, :log_static
57
70
  end
58
71
 
59
72
  it 'should respond to #log and not log anything' do
60
- assert_respond_to @logger, :log
73
+ assert_respond_to logger, :log
61
74
  end
62
75
 
63
76
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: padrino_gelflogger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-27 00:00:00.000000000Z
12
+ date: 2012-06-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: gelf
16
- requirement: &70274629952540 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: 1.3.2
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70274629952540
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 1.3.2
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: minitest
27
- requirement: &70274629951400 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: 2.10.0
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *70274629951400
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 2.10.0
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: minitest-reporters
38
- requirement: &70274629944000 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *70274629944000
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: rr
49
- requirement: &70274629942800 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *70274629942800
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: timecop
60
- requirement: &70274629942100 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,10 +85,15 @@ dependencies:
65
85
  version: '0'
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *70274629942100
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: rake
71
- requirement: &70274629941180 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ! '>='
@@ -76,7 +101,12 @@ dependencies:
76
101
  version: '0'
77
102
  type: :development
78
103
  prerelease: false
79
- version_requirements: *70274629941180
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
80
110
  description: Log from Padrino to Graylog2
81
111
  email:
82
112
  - pz@anixe.pl
@@ -111,7 +141,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
111
141
  version: '0'
112
142
  segments:
113
143
  - 0
114
- hash: 455111441048492565
144
+ hash: -4036185965818750767
115
145
  required_rubygems_version: !ruby/object:Gem::Requirement
116
146
  none: false
117
147
  requirements:
@@ -120,10 +150,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
150
  version: '0'
121
151
  segments:
122
152
  - 0
123
- hash: 455111441048492565
153
+ hash: -4036185965818750767
124
154
  requirements: []
125
155
  rubyforge_project:
126
- rubygems_version: 1.8.6
156
+ rubygems_version: 1.8.24
127
157
  signing_key:
128
158
  specification_version: 3
129
159
  summary: uses GELF.