json_tagged_logger 0.4.0 → 0.6.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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca97d589d38e918e570eab76849c3589dcb4afcffdc40d225f41ea5a61933dba
|
4
|
+
data.tar.gz: a7bcb458e29394d91f312cf2b0cb478a43a46f546810fdad6837221456ca2ffc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3509d3b59ed3c6f4d77e78ae8c105f1eb7301ff706857a817689d2da97f2e23ca0b7400d90cae961d0ec51d01a6bbe86c375e4ecc4322fb307cba18575ea473f
|
7
|
+
data.tar.gz: 168f3b44c2db71af307c5dff9b2ad73858872093e6f0e22e41728b0c97d407e76e4bb56692a368800c840921749310a9bee6b869faed1b4f55ccd21737c54db7
|
data/README.md
CHANGED
@@ -21,7 +21,7 @@ Rails.application.configure do
|
|
21
21
|
:host,
|
22
22
|
->(request) { { my_param: request.query_parameters["my_param"] }.to_json },
|
23
23
|
JsonTaggedLogger::TagFromSession.get(:user_id),
|
24
|
-
JsonTaggedLogger::TagFromHeaders.get(:
|
24
|
+
JsonTaggedLogger::TagFromHeaders.get(my_custom_header: "X-Custom-Header"),
|
25
25
|
)
|
26
26
|
|
27
27
|
logger = ActiveSupport::Logger.new(STDOUT)
|
@@ -1,8 +1,12 @@
|
|
1
1
|
module JsonTaggedLogger
|
2
2
|
module TagFromHeaders
|
3
|
-
def self.get(
|
3
|
+
def self.get(*header_keys, **labeled_header_keys)
|
4
|
+
labels = header_keys + labeled_header_keys.keys
|
5
|
+
header_keys = header_keys + labeled_header_keys.values
|
6
|
+
|
4
7
|
lambda do |request|
|
5
|
-
{
|
8
|
+
values = header_keys.map { |hk| request.headers[hk] }
|
9
|
+
labels.zip(values).to_h.compact.to_json
|
6
10
|
end
|
7
11
|
end
|
8
12
|
end
|
@@ -2,20 +2,24 @@ require 'action_dispatch'
|
|
2
2
|
|
3
3
|
module JsonTaggedLogger
|
4
4
|
module TagFromSession
|
5
|
-
def self.get(
|
5
|
+
def self.get(*simple_tags, **labeled_tags)
|
6
|
+
labels = simple_tags + labeled_tags.keys
|
7
|
+
session_keys = simple_tags + labeled_tags.values
|
8
|
+
|
6
9
|
lambda do |request|
|
7
|
-
|
10
|
+
values = get_values_from_session(request, session_keys)
|
11
|
+
labels.zip(values).to_h.compact.to_json
|
8
12
|
end
|
9
13
|
end
|
10
14
|
|
11
15
|
private
|
12
16
|
|
13
|
-
def self.
|
17
|
+
def self.get_values_from_session(request, keys)
|
14
18
|
session_options = Rails.application.config.session_options
|
15
19
|
session_store = Rails.application.config.session_store.new(Rails.application, session_options)
|
16
20
|
session = ActionDispatch::Request::Session.create(session_store, request, session_options)
|
17
21
|
|
18
|
-
session[
|
22
|
+
keys.map { |k| session[k] }
|
19
23
|
ensure
|
20
24
|
# Clean up side effects from loading the session so it can be loaded as
|
21
25
|
# usual during the normal request cycle. Leaving these headers in place
|