dry-logger 1.0.0 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -1
- data/lib/dry/logger/backends/proxy.rb +40 -5
- data/lib/dry/logger/dispatcher.rb +1 -1
- data/lib/dry/logger/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 684f7f0c0e79988487b854789ccb5fce18a2da413db5c0e002a8dd053da60ca8
|
4
|
+
data.tar.gz: 0c55f8e65565349555885bcfc948d08f4fb1a84114640af14025d684ce3a3d6f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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)
|
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?
|
data/lib/dry/logger/version.rb
CHANGED
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.
|
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-
|
11
|
+
date: 2022-11-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|