dclog 0.2.3 → 0.3.0

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.
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: