semlogr 0.1.2 → 0.1.3

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: beb27e461d2e1240b470c089baceed3190f83dc8
4
- data.tar.gz: 4811d4eb486b3c4b3ca247b66520a42fd2b48829
3
+ metadata.gz: de0c524223dc5ae215d6ea1792a8431fe372622a
4
+ data.tar.gz: 35b4860c12da0efe181e71cc000b9f25148774b6
5
5
  SHA512:
6
- metadata.gz: 26a5a16edc99244a47f0b29644f361e2331fc25620b35923db56f269d6477d567cac797cee3b1c2d0c00673f7ea1689dc02ebd37304edb4f1896a1d07f12e792
7
- data.tar.gz: e5c7c2cf7c84611a10cb5717011b686fe80bf0b86b8757dd1baa3772e8029ef535d912a60c5f693f777ca8eac17171a80cdb22c4d1656fa73c574bb80411f8ea
6
+ metadata.gz: 2337de225c49f303b6edecfee4c765cd7b7524024b191ef2405278afff508246c2d6bd768bff09a84164c0aca0de578f591fb1aa077b84798a915c2d63735423
7
+ data.tar.gz: 97620d9df3c5755143e2089556181cd8e23a0ad1795ad66042f5df7cb664886a1ae7d6d55bb3cf360585e8f1a5115a421c6ab83b718a841e18140a84e80e981c
data/.rubocop.yml CHANGED
@@ -6,6 +6,8 @@ Documentation:
6
6
 
7
7
  Metrics/AbcSize:
8
8
  Max: 24
9
+ Metrics/BlockLength:
10
+ ExcludedMethods: ['describe']
9
11
  Metrics/CyclomaticComplexity:
10
12
  Max: 8
11
13
  Metrics/LineLength:
@@ -13,5 +15,7 @@ Metrics/LineLength:
13
15
  Metrics/MethodLength:
14
16
  Max: 20
15
17
 
18
+ Style/EmptyMethod:
19
+ EnforcedStyle: expanded
16
20
  Style/MultilineMethodCallIndentation:
17
21
  EnforcedStyle: indented
@@ -1,4 +1,4 @@
1
- require 'json'
1
+ require 'oj'
2
2
 
3
3
  module Semlogr
4
4
  module Formatters
@@ -15,7 +15,8 @@ module Semlogr
15
15
 
16
16
  yield(event) if block_given?
17
17
 
18
- "#{event.to_json}\n"
18
+ event_json = Oj.dump(event, mode: :compat, use_as_json: true, use_to_json: true)
19
+ "#{event_json}\n"
19
20
  end
20
21
 
21
22
  private
@@ -13,6 +13,10 @@ module Semlogr
13
13
  @value <=> other.value
14
14
  end
15
15
 
16
+ def as_json
17
+ to_s
18
+ end
19
+
16
20
  def to_s
17
21
  @display_string
18
22
  end
@@ -86,26 +86,38 @@ module Semlogr
86
86
  end
87
87
 
88
88
  log_event = create_log_event(severity, template, error, properties)
89
+ return false if filter?(log_event)
89
90
 
91
+ enrich(log_event)
92
+ emit(log_event)
93
+
94
+ true
95
+ end
96
+
97
+ def create_log_event(severity, template, error, properties)
98
+ template = Templates::Parser.parse(template)
99
+
100
+ Events::LogEvent.new(severity, template, error, properties)
101
+ end
102
+
103
+ def filter?(log_event)
90
104
  @filters.each do |filter|
91
- return false if filter.call(log_event)
105
+ return true if filter.call(log_event)
92
106
  end
93
107
 
108
+ false
109
+ end
110
+
111
+ def enrich(log_event)
94
112
  @enrichers.each do |enricher|
95
113
  enricher.enrich(log_event)
96
114
  end
115
+ end
97
116
 
117
+ def emit(log_event)
98
118
  @sinks.each do |sink|
99
119
  sink.emit(log_event)
100
120
  end
101
-
102
- true
103
- end
104
-
105
- def create_log_event(severity, template, error, properties)
106
- template = Templates::Parser.parse(template)
107
-
108
- Events::LogEvent.new(severity, template, error, properties)
109
121
  end
110
122
  end
111
123
  end
@@ -1,3 +1,3 @@
1
1
  module Semlogr
2
- VERSION = '0.1.2'.freeze
2
+ VERSION = '0.1.3'.freeze
3
3
  end
data/semlogr.gemspec CHANGED
@@ -21,10 +21,11 @@ Gem::Specification.new do |spec|
21
21
  spec.require_paths = ['lib']
22
22
 
23
23
  spec.add_dependency 'lru_redux', '~> 1.1.0'
24
+ spec.add_dependency 'oj', '~> 2.18.1'
24
25
 
25
26
  spec.add_development_dependency 'bundler', '~> 1.12'
26
27
  spec.add_development_dependency 'pry', '~> 0.10.3'
27
28
  spec.add_development_dependency 'rake', '~> 10.0'
28
29
  spec.add_development_dependency 'rspec', '~> 3.0'
29
- spec.add_development_dependency 'rubocop', '~> 0.43'
30
+ spec.add_development_dependency 'rubocop', '~> 0.46'
30
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: semlogr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan Sedich
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-12-08 00:00:00.000000000 Z
11
+ date: 2017-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lru_redux
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.1.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: oj
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 2.18.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 2.18.1
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +100,14 @@ dependencies:
86
100
  requirements:
87
101
  - - "~>"
88
102
  - !ruby/object:Gem::Version
89
- version: '0.43'
103
+ version: '0.46'
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
108
  - - "~>"
95
109
  - !ruby/object:Gem::Version
96
- version: '0.43'
110
+ version: '0.46'
97
111
  description: A modern semantic logger for Ruby inspired by Serilog.
98
112
  email:
99
113
  - stefan.sedich@gmail.com