logger_facade 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a44006ba93de9dceaa753368eb3b452fe733e416
4
- data.tar.gz: 654b4861ab41420d47ed09e825af6672c7a8683b
3
+ metadata.gz: 23cc1584b5cfa42c103b970633ce4ae8b0a53690
4
+ data.tar.gz: 2886973542c5e009e047e29c7c4d150e6a77d9b9
5
5
  SHA512:
6
- metadata.gz: 57d9fa7a05c8819f5976d0b38296d8efa1a5a4e55a2989339ecb03ec0af7166ebb72ab3d6638350d27dbb57db693167f8b20cb7509a9ea7195bde31256aaea1c
7
- data.tar.gz: da2c70344b93d61fc57d6d84804a959f56aa6977032ab149e8edc2aa003daa13b815fa5078c79fc66a9344194fe0477c8c6269649158fec4a89b20d66d079942
6
+ metadata.gz: 5c9fd2d2e1e416cc28da978ba219c6ff3c4202c8f99a8acb6aa41df8a15d1b1c3e64d007eb78ed18ec2e2846baa3bd037e9ca60c71a8b5bd0d0f7281a54fe616
7
+ data.tar.gz: a18d4667ceb7cd90e2d9b323ab0c17c4f96299a1018a9f58b1c5ff883f52e9fe47f11fbf70cda146f9626830c54362eb78e445136e68decc53d57454c69f4020
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- logger_facade (0.3.0)
4
+ logger_facade (0.3.1)
5
5
  airbrake (~> 4.0)
6
6
  hashie (~> 3.2)
7
7
  sucker_punch (~> 1.1)
@@ -19,7 +19,8 @@ module LoggerFacade::Middleware
19
19
  metadata["bytes"],
20
20
  metadata["request_time"] ]
21
21
 
22
- @logger.info(msg, metadata)
22
+ severity = get_severity(metadata["response"])
23
+ @logger.send(severity, msg, metadata)
23
24
  end
24
25
 
25
26
  def get_metadata(env, status, header, began_at)
@@ -39,5 +40,16 @@ module LoggerFacade::Middleware
39
40
  }
40
41
  end
41
42
 
43
+ def get_severity(status)
44
+ status = status.to_i
45
+ if status >= 400 and status < 500
46
+ :warn
47
+ elsif status >= 500
48
+ :error
49
+ else
50
+ :info
51
+ end
52
+ end
53
+
42
54
  end
43
55
  end
@@ -2,21 +2,14 @@ require 'airbrake'
2
2
 
3
3
  module LoggerFacade::Plugins
4
4
 
5
- class Airbrake
5
+ class Airbrake < Base
6
6
 
7
- attr_reader :name, :environment
7
+ attr_reader :environment
8
8
 
9
9
  def initialize(environment = nil)
10
- @name = "LoggerFacade::Plugins::Airbrake"
10
+ super("LoggerFacade::Plugins::Airbrake", { level: :error })
11
11
  @environment = environment.to_s
12
-
13
- ::Airbrake.configure do |config|
14
- config.host = nil
15
- config.port = 80
16
- config.secure = config.port == 443
17
- config.async = true
18
- config.development_environments = %w(development test)
19
- end
12
+ set_default_airbrake_config
20
13
  end
21
14
 
22
15
  def configure(&block)
@@ -25,27 +18,17 @@ module LoggerFacade::Plugins
25
18
  end
26
19
  end
27
20
 
28
- def is_debug
29
- false
30
- end
31
-
32
- def trace(logger, message)
33
- # do nothing
34
- end
21
+ protected
35
22
 
36
- def debug(logger, message)
37
- # do nothing
38
- end
23
+ def log(log_level, message, logger, metadata)
24
+ return unless is_level_active(log_level)
39
25
 
40
- def info(logger, message)
41
- # do nothing
26
+ notify(logger, message, metadata)
42
27
  end
43
28
 
44
- def warn(logger, message)
45
- # do nothing
46
- end
29
+ private
47
30
 
48
- def error(logger, message)
31
+ def notify(logger, message, metadata)
49
32
  return unless valid_config
50
33
 
51
34
  if message.is_a? Exception
@@ -55,7 +38,15 @@ module LoggerFacade::Plugins
55
38
  end
56
39
  end
57
40
 
58
- private
41
+ def set_default_airbrake_config
42
+ ::Airbrake.configure do |config|
43
+ config.host = nil
44
+ config.port = 80
45
+ config.secure = config.port == 443
46
+ config.async = true
47
+ config.development_environments = %w(development test)
48
+ end
49
+ end
59
50
 
60
51
  def valid_config
61
52
  config = ::Airbrake.configuration
@@ -1,3 +1,3 @@
1
1
  module LoggerFacade
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.1'
3
3
  end
@@ -45,7 +45,33 @@ describe LoggerFacade::Middleware::Rack do
45
45
  Rack::MockRequest.new(described_class.new(app)).get("/path?q=true")
46
46
  end
47
47
  end
48
-
48
+
49
+ context 'severity' do
50
+
51
+ it "log 200 status to info" do
52
+ expect(logger).to receive(:info)
53
+ Rack::MockRequest.new(described_class.new(app)).get("/path")
54
+ end
55
+
56
+ it "log 300 status to info" do
57
+ expect(logger).to receive(:info)
58
+ Rack::MockRequest.new(described_class.new(app)).get("/path")
59
+ end
60
+
61
+ it "log 400 status to warn" do
62
+ expect(logger).to receive(:warn)
63
+ app = -> (env) { [400, env, "app"] }
64
+ Rack::MockRequest.new(described_class.new(app)).get("/path")
65
+ end
66
+
67
+ it "log 500 status to error" do
68
+ expect(logger).to receive(:error)
69
+ app = -> (env) { [500, env, "app"] }
70
+ Rack::MockRequest.new(described_class.new(app)).get("/path")
71
+ end
72
+
73
+ end
74
+
49
75
  context 'with proper metadata' do
50
76
 
51
77
  after do
@@ -4,6 +4,8 @@ describe LoggerFacade::Plugins::Airbrake do
4
4
 
5
5
  subject { described_class.new(:test) }
6
6
 
7
+ let(:message) { "call with message" }
8
+
7
9
  before :each do
8
10
 
9
11
  subject.configure do |c|
@@ -39,13 +41,27 @@ describe LoggerFacade::Plugins::Airbrake do
39
41
  context("logging in #{level} level") do
40
42
 
41
43
  it("doesn't notify") do
42
- message = "call with message"
43
44
  expect(::Airbrake).not_to receive(:notify_or_ignore)
44
45
  subject.send(level.to_sym, "name", message)
45
46
  end
46
47
 
47
48
  end
48
49
 
50
+ context("accepts metadata") do
51
+
52
+ it("logging in #{level} level with metadata") do
53
+ expect(::Airbrake).not_to receive(:notify_or_ignore)
54
+ subject.send(level.to_sym, "name", message, metadata: { context: "info" })
55
+ end
56
+
57
+ end
58
+
59
+ end
60
+
61
+ %w(trace debug info warn error).each do |level|
62
+
63
+
64
+
49
65
  end
50
66
 
51
67
  context("logging in error level") do
@@ -53,7 +69,6 @@ describe LoggerFacade::Plugins::Airbrake do
53
69
  context('with message') do
54
70
 
55
71
  it("notify") do
56
- message = "call with message"
57
72
  expect(::Airbrake).to receive(:notify_or_ignore)
58
73
  .with(hash_including(
59
74
  :error_class => "NAME::LogError",
@@ -81,6 +96,11 @@ describe LoggerFacade::Plugins::Airbrake do
81
96
 
82
97
  end
83
98
 
99
+ it("accepts metadata") do
100
+ expect(::Airbrake).to receive(:notify_or_ignore)
101
+ subject.error("name", message, metadata: { context: "information" })
102
+ end
103
+
84
104
  end
85
105
 
86
106
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logger_facade
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pedro Januário
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-08 00:00:00.000000000 Z
11
+ date: 2015-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler