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: f290019420ad4691086787da1f7c2982383eaae9812bc2eb1874778ce5d00718
4
- data.tar.gz: 9a52e70773163bd3428612d56b1f723bd50550763f84710eda06aec1a02cd9a7
3
+ metadata.gz: ca97d589d38e918e570eab76849c3589dcb4afcffdc40d225f41ea5a61933dba
4
+ data.tar.gz: a7bcb458e29394d91f312cf2b0cb478a43a46f546810fdad6837221456ca2ffc
5
5
  SHA512:
6
- metadata.gz: 902135acc6779b5d4a5f63313a8f0ced0125d08998d61ebf77064dd4159764cb14bac9353a11f0efc70a02cc99bed628eaea25dbbd95169dc79c3ef5b782d786
7
- data.tar.gz: 3ad70d7851f82976ac866d1ad3553670f3122c8476429de4064d71333214cadbebcfb7e9af1d013151c04f83ff5d8038ce52cc7fd88fb453c7bf8529074aae50
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(:my_custom_header, "X-Custom-Header"),
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(log_label, header_key)
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
- { log_label => request.headers[header_key] }.to_json
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(log_label, session_key = log_label)
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
- { log_label => get_value_from_session(request, session_key) }.to_json
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.get_value_from_session(request, key)
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[key]
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
@@ -1,3 +1,3 @@
1
1
  module JsonTaggedLogger
2
- VERSION = "0.4.0"
2
+ VERSION = "0.6.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json_tagged_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Santry