sensible_logging 0.1.0 → 0.2.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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 64e20e7d13d4881981be87fa54a55d5dd4341a4c2fb3d6288f2ad68a35c1f096
|
4
|
+
data.tar.gz: 07a666fe48011d6c8b76b173161613973fe34bbfaf0994c15a06481744236829
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9e7645eb34a56cfc7f8187c894a7195a9ec60a469c2efe3da221f3e176149a1164a175c433821222cfe8f2294b4c79abd036b759dfb1ceb8155fc6c10d25c4c7
|
7
|
+
data.tar.gz: 62b656360bed805e943fa1b0c8b6ca5614d0c7af8e4caa447ade4f067b8b6f62fef5905faf9dc33f1e5219d2a2bd994020d48dabb9b506b8351b458fbc7f0016
|
data/{app.rb → examples/app.rb}
RENAMED
File without changes
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class SubdomainParser
|
2
|
+
attr_reader :tld_length
|
3
|
+
|
4
|
+
def initialize(tld_length: 1)
|
5
|
+
@tld_length = tld_length
|
6
|
+
end
|
7
|
+
|
8
|
+
def parse(host)
|
9
|
+
domain_parts = host.split('.')
|
10
|
+
|
11
|
+
return domain_parts[0] if domain_parts.size == 1
|
12
|
+
|
13
|
+
main_domain_length = tld_length + 1
|
14
|
+
subdomain_length = domain_parts.size - main_domain_length
|
15
|
+
|
16
|
+
subdomain_parts = domain_parts[0...subdomain_length]
|
17
|
+
|
18
|
+
return nil if subdomain_parts.size < 1
|
19
|
+
|
20
|
+
subdomain_parts.join('.')
|
21
|
+
end
|
22
|
+
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'active_support/tagged_logging'
|
2
|
+
require_relative '../helpers/subdomain_parser'
|
2
3
|
|
3
4
|
class TaggedLogger
|
4
5
|
def initialize(app, logger = Logger.new(STDOUT), tags = [], tld_length = 1)
|
@@ -6,9 +7,7 @@ class TaggedLogger
|
|
6
7
|
@logger = ActiveSupport::TaggedLogging.new(logger)
|
7
8
|
|
8
9
|
@tags = tags
|
9
|
-
@tags = default_tags if tags.empty?
|
10
|
-
|
11
|
-
@tld_length = tld_length
|
10
|
+
@tags = self.class.default_tags(tld_length: tld_length) if tags.empty?
|
12
11
|
end
|
13
12
|
|
14
13
|
def call(env)
|
@@ -18,23 +17,17 @@ class TaggedLogger
|
|
18
17
|
end
|
19
18
|
end
|
20
19
|
|
21
|
-
def default_tags
|
20
|
+
def self.default_tags(tld_length: 1)
|
22
21
|
[lambda { |req|
|
23
|
-
|
22
|
+
subdomain_parser = SubdomainParser.new(tld_length: tld_length)
|
23
|
+
subdomain = subdomain_parser.parse(req.host)
|
24
|
+
|
25
|
+
[subdomain || 'n/a', ENV['RACK_ENV'], req.env['request_id']]
|
24
26
|
}]
|
25
27
|
end
|
26
28
|
|
27
29
|
private
|
28
30
|
|
29
|
-
def subdomain(req)
|
30
|
-
domain_parts = req.host.split('.')
|
31
|
-
|
32
|
-
main_domain_length = @tld_length + 1
|
33
|
-
subdomain_length = domain_parts.length - main_domain_length
|
34
|
-
|
35
|
-
domain_parts[0...subdomain_length].join('.')
|
36
|
-
end
|
37
|
-
|
38
31
|
def generate_tags(env)
|
39
32
|
req = Rack::Request.new(env)
|
40
33
|
tags = @tags.map do |tag|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensible_logging
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Winter
|
@@ -137,9 +137,10 @@ files:
|
|
137
137
|
- LICENSE.txt
|
138
138
|
- README.md
|
139
139
|
- Rakefile
|
140
|
-
- app.rb
|
141
|
-
- config.ru
|
140
|
+
- examples/app.rb
|
141
|
+
- examples/config.ru
|
142
142
|
- lib/sensible_logging.rb
|
143
|
+
- lib/sensible_logging/helpers/subdomain_parser.rb
|
143
144
|
- lib/sensible_logging/middlewares/request_id.rb
|
144
145
|
- lib/sensible_logging/middlewares/request_logger.rb
|
145
146
|
- lib/sensible_logging/middlewares/tagged_logger.rb
|