dclog 0.2.3 → 0.3.0

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
  SHA256:
3
- metadata.gz: ee9d53ab78011fdc8e755825e2fbdb43204800c765686a2fdb9d5c6744065b53
4
- data.tar.gz: e85ae2c88f45b46c56fbe104db22790e2aa33a5b50dde9118eed86077398c8b5
3
+ metadata.gz: 9ec22cd08745dd9e72fcb5d9dcbd5a8778b4891a51051bd0c7c365790b55a8e1
4
+ data.tar.gz: f7120064c66f80d66ea22d35548561609771eccbbc03b15a46c640e7f6e621f6
5
5
  SHA512:
6
- metadata.gz: 989fde408ff44bd9c86658dae311434fc2a0ab381452058dc7947ce16b32b967865f459c3ae8277d2021b47e94dab235c442cc5f10cda74ac66013edefce76f4
7
- data.tar.gz: e474783df280fe5375bc1025b8d3a63f0be0259fbbd7150a0dd1c8bdd4c9d6a138dc0798da8349e58e0124b93be2fd973554633efc70e37efeeaa06b92e83961
6
+ metadata.gz: b9396325d1ebfe73e11f53ea32344f170c245b97738db9047b590320210fc6cec58608800b427bcf2ac9b23f4594ccb788aaf7af20ecdb44a11a87ca06597ad8
7
+ data.tar.gz: da63e6c0e9abf1912aaed55906ab159e57c2282673f6dc520a0afcb8fb562ecfddaf794a1f45455bad2cbd6be76041fb1e68e87a3fad285b0c206f682b23b227
data/.rubocop.yml CHANGED
@@ -23,3 +23,6 @@ Metrics/BlockLength:
23
23
 
24
24
  Style/StringConcatenation:
25
25
  Enabled: false
26
+
27
+ Style/ClassAndModuleChildren:
28
+ EnforcedStyle: compact
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dclog (0.2.3)
4
+ dclog (0.3.0)
5
5
  rails (>= 5.0.0)
6
6
 
7
7
  GEM
@@ -85,11 +85,9 @@ GEM
85
85
  marcel (1.0.2)
86
86
  method_source (1.0.0)
87
87
  mini_mime (1.1.1)
88
- mini_portile2 (2.6.1)
89
88
  minitest (5.14.4)
90
89
  nio4r (2.5.8)
91
- nokogiri (1.12.5)
92
- mini_portile2 (~> 2.6.1)
90
+ nokogiri (1.12.5-x86_64-linux)
93
91
  racc (~> 1.4)
94
92
  parallel (1.20.1)
95
93
  parser (3.0.1.1)
data/README.md CHANGED
@@ -29,22 +29,16 @@ Rails.application.configure do
29
29
  ...
30
30
 
31
31
  logger = ActiveSupport::Logger.new($stdout)
32
- logger.formatter = proc do |severity, datetime, progname, message|
33
- msg_regex = message.match(Dclog::LOG_REGEX)
34
- request_id = msg_regex.nil? ? nil : msg_regex[1]
35
- msg = msg_regex.nil? ? message : msg_regex[2]
36
-
37
- "#{JSON.dump(
38
- severity: severity,
39
- date: datetime.strftime('%Y-%m-%d %H:%M:%S'),
40
- caller: progname,
41
- request_id: request_id,
42
- message: msg
43
- )}\n"
44
- end
32
+ logger.formatter = Dclog::LogFormatter.new
45
33
  config.logger = ActiveSupport::TaggedLogging.new(logger)
34
+
46
35
  level = ENV.fetch('LOG_LEVEL', 'info')
47
36
  config.log_level = Rails.env.test? ? :warn : level.underscore.to_sym
37
+
38
+ # add silencers for useless logs (optional)
39
+ # config.logger.formatter.add_silencer { |line| line =~ /\/sidekiq/ }
40
+ # config.logger.formatter.add_silencer { |line| line =~ /\/app_health/ }
41
+
48
42
  config.log_tags = [:request_id]
49
43
 
50
44
  ...
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Dclog::Formatter
4
+ LOG_REGEX = /^\[([a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12})\]\s+(.+)$/.freeze
5
+
6
+ def initialize
7
+ @silencers = []
8
+ end
9
+
10
+ def add_silencer(&block)
11
+ @silencers << block
12
+ end
13
+
14
+ def call(severity, timestamp, progname, message)
15
+ return if should_filter?(message)
16
+
17
+ msg_regex = message.match(LOG_REGEX)
18
+ request_id = msg_regex.nil? ? nil : msg_regex[1]
19
+ msg = msg_regex.nil? ? message : msg_regex[2]
20
+
21
+ "#{JSON.dump(
22
+ severity: severity,
23
+ date: timestamp.strftime("%Y-%m-%d %H:%M:%S"),
24
+ caller: progname,
25
+ request_id: request_id,
26
+ message: msg
27
+ )}\n"
28
+ end
29
+
30
+ private
31
+
32
+ def should_filter?(message)
33
+ return false if @silencers.empty?
34
+
35
+ @silencers.each { |silencer| return true if silencer.call(message) }
36
+
37
+ false
38
+ end
39
+ end
data/lib/dclog/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dclog
4
- VERSION = '0.2.3'
4
+ VERSION = '0.3.0'
5
5
  end
data/lib/dclog.rb CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'rails'
4
4
  require_relative 'dclog/version'
5
+ require_relative 'dclog/formatter'
5
6
 
6
7
  begin
7
8
  require 'sidekiq'
@@ -10,8 +11,6 @@ rescue LoadError
10
11
  end
11
12
 
12
13
  module Dclog
13
- LOG_REGEX = /^\[([a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12})\]\s+(.+)$/.freeze
14
-
15
14
  class << self
16
15
  def method_missing(method, *args)
17
16
  caller = caller_locations.first.label
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dclog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jairo Junior
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2021-10-05 00:00:00.000000000 Z
13
+ date: 2021-11-09 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec
@@ -92,6 +92,7 @@ files:
92
92
  - bin/setup
93
93
  - dclog.gemspec
94
94
  - lib/dclog.rb
95
+ - lib/dclog/formatter.rb
95
96
  - lib/dclog/version.rb
96
97
  homepage: https://github.com/deliverycenter/dclog
97
98
  licenses: