logjam_agent 0.35.1 → 0.36.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/README.md +6 -0
- data/lib/logjam_agent/buffered_logger.rb +1 -0
- data/lib/logjam_agent/rack/logger.rb +11 -3
- data/lib/logjam_agent/request.rb +4 -4
- data/lib/logjam_agent/version.rb +1 -1
- data/lib/logjam_agent.rb +3 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 238a6d18a9fdd1fdf660314a3e3de7706e658e08ab304aa4874d7e73985c787d
|
4
|
+
data.tar.gz: 208a910c0abadf9572d1e9f872eee8b90c8d3706e9a59bf8c550d64cb1144281
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f1852e9eec5abceed5a8ddd8977188a1a86ae415c6883e01db30d5471e0d20def84c07ad1eadb947e1809860c61e72010ad8dbb2aaaf92c6c842f3f3029708e5
|
7
|
+
data.tar.gz: 5565c68259a98b4561240cc3f2a1bd1233598efa3aeca555db6c78183d0064376e5d3f1acfd13469bee5654e8565bee217843f7bd965b49d93a586662db4d1f3
|
data/README.md
CHANGED
@@ -62,6 +62,12 @@ module LogjamAgent
|
|
62
62
|
# to debug asset request handling.
|
63
63
|
self.ignore_asset_requests = Rails.env.development?
|
64
64
|
|
65
|
+
# Configure a list of URL patterns for which no data should be sent
|
66
|
+
# to logjam and nothing should be sent to the log device. Please not
|
67
|
+
# that the log lines will still show up in dev mode on the console.
|
68
|
+
# Defaults to the empty list.
|
69
|
+
# self.ignored_request_urls = [%r{/_system/}]
|
70
|
+
|
65
71
|
# Disable ActiveSupport::Notifications (and thereby logging) of ActionView
|
66
72
|
# render events. Defaults to false.
|
67
73
|
# self.ignore_render_events = Rails.env.production?
|
@@ -57,6 +57,7 @@ module LogjamAgent
|
|
57
57
|
end
|
58
58
|
end
|
59
59
|
log_to_log_device = LogjamAgent.log_to_log_device?(severity, message)
|
60
|
+
log_to_log_device = false if request && request.ignored?
|
60
61
|
attributes = formatter.render_attributes
|
61
62
|
message = "[#{attributes}] #{message}" if attributes
|
62
63
|
time = Time.now
|
@@ -11,6 +11,7 @@ module LogjamAgent
|
|
11
11
|
@hostname = LogjamAgent.hostname
|
12
12
|
@asset_prefix = Rails.application.config.assets.prefix rescue "---"
|
13
13
|
@ignore_asset_requests = LogjamAgent.ignore_asset_requests
|
14
|
+
@ignored_request_urls = LogjamAgent.ignored_request_urls
|
14
15
|
end
|
15
16
|
|
16
17
|
def call(env)
|
@@ -88,6 +89,12 @@ module LogjamAgent
|
|
88
89
|
false
|
89
90
|
end
|
90
91
|
|
92
|
+
def ignored_request_url?(path)
|
93
|
+
@ignored_request_urls.any?{|url_pattern| path =~ url_pattern}
|
94
|
+
rescue
|
95
|
+
false
|
96
|
+
end
|
97
|
+
|
91
98
|
def before_dispatch(request, env, start_time, wait_time_ms)
|
92
99
|
logger.formatter.reset_attributes if logger.formatter.respond_to?(:reset_attributes)
|
93
100
|
TimeBandits.reset
|
@@ -96,7 +103,8 @@ module LogjamAgent
|
|
96
103
|
path = request.filtered_path
|
97
104
|
|
98
105
|
logjam_request = LogjamAgent.request
|
99
|
-
logjam_request.ignore! if ignored_asset_request?(path)
|
106
|
+
logjam_request.ignore!(:asset) if ignored_asset_request?(path)
|
107
|
+
logjam_request.ignore!(:url) if ignored_request_url?(path)
|
100
108
|
|
101
109
|
logjam_request.start_time = start_time
|
102
110
|
logjam_fields = logjam_request.fields
|
@@ -111,7 +119,7 @@ module LogjamAgent
|
|
111
119
|
logjam_fields.merge!(:ip => ip, :host => @hostname)
|
112
120
|
logjam_fields.merge!(extract_request_info(request))
|
113
121
|
|
114
|
-
info "Started #{request.request_method} \"#{path}\" for #{ip} at #{start_time.to_default_s}" unless logjam_request.ignored?
|
122
|
+
info "Started #{request.request_method} \"#{path}\" for #{ip} at #{start_time.to_default_s}" unless logjam_request.ignored?(:asset)
|
115
123
|
if spoofed
|
116
124
|
error spoofed
|
117
125
|
raise spoofed
|
@@ -140,7 +148,7 @@ module LogjamAgent
|
|
140
148
|
|
141
149
|
message = "Completed #{status} #{::Rack::Utils::HTTP_STATUS_CODES[status]} in %.1fms" % run_time_ms
|
142
150
|
message << " (#{additions.join(' | ')})" unless additions.blank?
|
143
|
-
info message unless logjam_request.ignored?
|
151
|
+
info message unless logjam_request.ignored?(:asset)
|
144
152
|
|
145
153
|
ActiveSupport::LogSubscriber.flush_all!
|
146
154
|
request_info = { :total_time => run_time_ms, :code => status }
|
data/lib/logjam_agent/request.rb
CHANGED
@@ -47,12 +47,12 @@ module LogjamAgent
|
|
47
47
|
@fields[:started_ms] = start_time.tv_sec * 1000 + start_time.tv_usec / 1000
|
48
48
|
end
|
49
49
|
|
50
|
-
def ignore!
|
51
|
-
@ignored =
|
50
|
+
def ignore!(reason = nil)
|
51
|
+
@ignored = reason || :unknown
|
52
52
|
end
|
53
53
|
|
54
|
-
def ignored?
|
55
|
-
@ignored
|
54
|
+
def ignored?(reason = nil)
|
55
|
+
reason ? @ignored == reason : @ignored
|
56
56
|
end
|
57
57
|
|
58
58
|
def id
|
data/lib/logjam_agent/version.rb
CHANGED
data/lib/logjam_agent.rb
CHANGED
@@ -133,6 +133,9 @@ module LogjamAgent
|
|
133
133
|
mattr_accessor :exception_matcher
|
134
134
|
self.exception_matcher = nil
|
135
135
|
|
136
|
+
mattr_accessor :ignored_request_urls
|
137
|
+
self.ignored_request_urls = []
|
138
|
+
|
136
139
|
mattr_accessor :ignore_asset_requests
|
137
140
|
self.ignore_asset_requests = false
|
138
141
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logjam_agent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.36.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stefan Kaes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-10-
|
11
|
+
date: 2022-10-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|