grpc_interceptors 0.2.1 → 0.2.2

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: c4c60a6a961edc3c7fc953ade87a0a77fd447e55f8510e827a622770c4a267ca
4
- data.tar.gz: eaff3d4c879c31d62bac9e9d09a1a4199e884639770ffe72dbc99c398fd6bf25
3
+ metadata.gz: ce6dbf5fa29684368e37b4801f2e6af7b662901cb86437ab3d2f79e1d368ed62
4
+ data.tar.gz: 457f47fb4eb8a2c2918dac9cade910849b1de2a1a77ab398ee293ac91c4c03f8
5
5
  SHA512:
6
- metadata.gz: e7296306ecc945d6fcb28161f16f836750f05e77aca7d18dac9ad9a3cd3e2619db3b588852fa3e4b3316c7b892e49ddf44673a9eab8d9f4fa7c24a5de3186811
7
- data.tar.gz: d7777879bf82564ae53698c2a64e7ecb6c8daede6eb0be81596f97d78a54db789f3db36ff5ac968dd21c229dd1f508d7dea6aeac696d975f79e39fd30a12f534
6
+ metadata.gz: 42d8785d23e603269e7adc49b096777a41bef92daac3709069949629f9d7db5617c424c6353d19db6566fbd57b75d796f73f6440030e1ec78a112126ddac8776
7
+ data.tar.gz: e9ee7ed6d174803126f2bd7c10c4aa98e4e3a55d9d055f821158a424e6006a71706c49d53abe8cb83919af8b9938bf005e28498e9d51a6ee7bcb7fedf85c85be
@@ -1,8 +1,33 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'logger'
4
+
3
5
  module GrpcInterceptors
4
6
  module Common
5
7
  module Logging
8
+ SYMBOL_TO_SEVERITY = {
9
+ trace: ::Logger::Severity::DEBUG,
10
+ debug: ::Logger::Severity::DEBUG,
11
+ info: ::Logger::Severity::INFO,
12
+ warn: ::Logger::Severity::WARN,
13
+ error: ::Logger::Severity::ERROR,
14
+ fatal: ::Logger::Severity::FATAL
15
+ }.freeze
16
+
17
+ # Some logger implementations (e.g. SemanticLogger-backed CasinoLogger)
18
+ # expose #level as a Symbol rather than the ::Logger::Severity Integer
19
+ # constants this module compares against. Normalize here so any logger
20
+ # duck-typed with #level/#info/#debug works without a per-service wrapper.
21
+ def self.normalized_level(logger)
22
+ raw = logger.respond_to?(:level) ? logger.level : ::Logger::Severity::INFO
23
+
24
+ case raw
25
+ when Integer then raw
26
+ when Symbol then SYMBOL_TO_SEVERITY.fetch(raw, ::Logger::Severity::INFO)
27
+ else ::Logger::Severity::INFO
28
+ end
29
+ end
30
+
6
31
  def self.yield_and_log(
7
32
  logger: nil, request: nil, method: nil, method_type: nil, kind: nil
8
33
  )
@@ -21,7 +46,7 @@ module GrpcInterceptors
21
46
  extra_fields ||= {}
22
47
  extra_fields['grpc.code'] = grpc_code
23
48
 
24
- if logger.level == ::Logger::Severity::DEBUG && !response.nil? && !response.is_a?(Enumerator)
49
+ if normalized_level(logger) == ::Logger::Severity::DEBUG && !response.nil? && !response.is_a?(Enumerator)
25
50
  extra_fields['response'] = Common::GrpcHelper.proto_to_h(response)
26
51
  end
27
52
 
@@ -49,9 +74,10 @@ module GrpcInterceptors
49
74
  payload = build_payload(method, method_type, kind)
50
75
  payload.merge!(extra_fields)
51
76
 
52
- if logger.level == ::Logger::Severity::INFO
77
+ level = normalized_level(logger)
78
+ if level == ::Logger::Severity::INFO
53
79
  logger.info(payload)
54
- elsif logger.level == ::Logger::Severity::DEBUG
80
+ elsif level == ::Logger::Severity::DEBUG
55
81
  payload['request'] = Common::GrpcHelper.proto_to_h(request) unless request.nil?
56
82
  logger.debug(payload)
57
83
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grpc_interceptors
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - michal-kazmierczak
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '2.4'
69
+ - !ruby/object:Gem::Dependency
70
+ name: logger
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.7'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.7'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: minitest
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -287,7 +301,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
287
301
  - !ruby/object:Gem::Version
288
302
  version: '0'
289
303
  requirements: []
290
- rubygems_version: 3.6.9
304
+ rubygems_version: 4.0.10
291
305
  specification_version: 4
292
306
  summary: A collection of Ruby interceptors (middlewares) for gRPC servers and clients.
293
307
  test_files: []