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 +4 -4
- data/.rubocop.yml +3 -0
- data/Gemfile.lock +2 -4
- data/README.md +7 -13
- data/lib/dclog/formatter.rb +39 -0
- data/lib/dclog/version.rb +1 -1
- data/lib/dclog.rb +1 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9ec22cd08745dd9e72fcb5d9dcbd5a8778b4891a51051bd0c7c365790b55a8e1
|
4
|
+
data.tar.gz: f7120064c66f80d66ea22d35548561609771eccbbc03b15a46c640e7f6e621f6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9396325d1ebfe73e11f53ea32344f170c245b97738db9047b590320210fc6cec58608800b427bcf2ac9b23f4594ccb788aaf7af20ecdb44a11a87ca06597ad8
|
7
|
+
data.tar.gz: da63e6c0e9abf1912aaed55906ab159e57c2282673f6dc520a0afcb8fb562ecfddaf794a1f45455bad2cbd6be76041fb1e68e87a3fad285b0c206f682b23b227
|
data/.rubocop.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
dclog (0.
|
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 =
|
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
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.
|
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-
|
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:
|