dry-logger 1.0.0 → 1.0.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: 730cb488952659e0a7499948d6f77e3ed61b7be38e462d7a000479d7e6a8c7f2
4
- data.tar.gz: 81ddc5b02fc960cb3650f1305e19bfc33d21488722455c8bfdcb3e411cb07bf4
3
+ metadata.gz: 684f7f0c0e79988487b854789ccb5fce18a2da413db5c0e002a8dd053da60ca8
4
+ data.tar.gz: 0c55f8e65565349555885bcfc948d08f4fb1a84114640af14025d684ce3a3d6f
5
5
  SHA512:
6
- metadata.gz: 02d8e2eb6e2029a3c29269db001e5e3f50eacf1605efa4cdd62ae01a1e8349b80073e0b591761ed3bc82f7acda5b139a2a03c120c32b3716c27c2d054eee0a64
7
- data.tar.gz: 2f11fec53ac321f0157f3c620944d460a189fa4da112a5b2d617a21171533dcacf17370bf1288d2ef1e4574ab4f35518aca2e280a7063df669768d1c3dda73b6
6
+ metadata.gz: e6946ec738001c7b1c65c2053792940150d161d5b42fe199c657cd69640ad8156665a332057f2b71f195e6568cd344cee584df3c4d5d0366f29e6fee6402cf7b
7
+ data.tar.gz: ea712b521c34f3d595413de30251bdc9fa1cbf63e52e70a50905abccd9f7d3d627ed1322094f85261cf33991c8574ab9480f5941b44f51b0f0432d3c95e50d09
data/CHANGELOG.md CHANGED
@@ -1,6 +1,27 @@
1
1
  <!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
2
2
 
3
- ## 1.0.0
3
+ ## 1.0.2 2022-11-24
4
+
5
+
6
+ ### Fixed
7
+
8
+ - Handle `:log_if` in Proxy constructors (via #23) (@solnic)
9
+
10
+
11
+ [Compare v1.0.1...v1.0.2](https://github.com/dry-rb/dry-logger/compare/v1.0.1...v1.0.2)
12
+
13
+ ## 1.0.1 2022-11-23
14
+
15
+
16
+ ### Fixed
17
+
18
+ - Support for `log_if` in proxied loggers (via 81115320b490034ddf9dfe4f3775322b9271e0cd) (@solnic)
19
+ - Support exceptions and payloads in proxied loggers (via 93b3fd59ebbdc7e63620eb064694d58455df831f) (@solnic)
20
+
21
+
22
+ [Compare v1.0.0...v1.0.1](https://github.com/dry-rb/dry-logger/compare/v1.0.0...v1.0.1)
23
+
24
+ ## 1.0.0 2022-11-17
4
25
 
5
26
  This is a port of the original Hanami logger from hanami-utils extended with support for logging
6
27
  dispatchers that can log to different destinations and plenty more.
@@ -15,12 +15,32 @@ module Dry
15
15
  class Proxy < SimpleDelegator
16
16
  include Core
17
17
 
18
- # @since 0.1.0
19
- # @api public
20
- attr_accessor :log_if
21
-
22
18
  LOG_METHODS.each do |method|
23
- define_method(method) { |entry| __getobj__.public_send(method, entry.message) }
19
+ define_method(method) do |entry|
20
+ if entry.exception?
21
+ if __supports_payload__?(method)
22
+ __getobj__.public_send(method, entry.exception, **entry.payload.except(:exception))
23
+ else
24
+ __getobj__.public_send(method, entry.exception)
25
+ end
26
+ elsif __supports_payload__?(method)
27
+ if entry.message
28
+ __getobj__.public_send(method, entry.message, **entry.payload)
29
+ else
30
+ __getobj__.public_send(method, **entry.payload)
31
+ end
32
+ else
33
+ __getobj__.public_send(method, entry.message)
34
+ end
35
+ end
36
+ end
37
+
38
+ # @since 1.0.2
39
+ # @api private
40
+ def initialize(backend, **options)
41
+ super(backend)
42
+ @options = options
43
+ self.log_if = @options[:log_if]
24
44
  end
25
45
 
26
46
  # @since 1.0.0
@@ -32,6 +52,21 @@ module Dry
32
52
  true
33
53
  end
34
54
  end
55
+
56
+ private
57
+
58
+ # @since 1.0.0
59
+ # @api private
60
+ def __supports_payload__?(method)
61
+ __supported_methods__[method] ||= __getobj__.method(method)
62
+ .parameters.last&.first.equal?(:keyrest)
63
+ end
64
+
65
+ # @since 1.0.0
66
+ # @api private
67
+ def __supported_methods__
68
+ @__supported_methods__ ||= {}
69
+ end
35
70
  end
36
71
  end
37
72
  end
@@ -260,7 +260,7 @@ module Dry
260
260
  backend =
261
261
  case (instance ||= Dry::Logger.new(**options, **backend_options))
262
262
  when Backends::Stream then instance
263
- else Backends::Proxy.new(instance)
263
+ else Backends::Proxy.new(instance, **options, **backend_options)
264
264
  end
265
265
 
266
266
  yield(backend) if block_given?
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Dry
4
4
  module Logger
5
- VERSION = "1.0.0"
5
+ VERSION = "1.0.2"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dry-logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luca Guidi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-17 00:00:00.000000000 Z
11
+ date: 2022-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec