julewire-semantic_logger 1.0.0 → 1.0.1

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: e701488ff85db0998210de87726f8fe7aeb5d8aacefcf6721b86e8d60b5df01b
4
- data.tar.gz: e461c66f174f9d83105cbac6e6fa0a457e5387c8ea293ae91bf5599b2d7305d8
3
+ metadata.gz: 56e9c8fb67e4c5a896837a1dfd5f1a81c14aa27a3167dd9e140c7cca706f65d9
4
+ data.tar.gz: 3f4ded10ad8caedf602ad81fa88e4587461ddaef3ca5befab5e25eff710a4314
5
5
  SHA512:
6
- metadata.gz: ada163b0d2af3819d88a210193063d7188151a1f298508816bc82ecd4e131790450e7c646c91414db22711fee7c434f5ed2d7d9d5649e2e0dc502b090c6e3d3a
7
- data.tar.gz: 98d7f0cb14e358b81164a5f131d7d7e99602554668fa302d7c3e9466747b6f674b2ece1bbae01fb24e0bdc637bd81987f6b9b6b60217ad509f4804503452e885
6
+ metadata.gz: 60eda983c6c3acd4983ae38d76493a0cbf0a915079abb26ae793880ce12090eec5a16ed82f24ebf724f684fc0dd860d64f7f92c847ca0094845bd9b937faa482
7
+ data.tar.gz: 9facbc31acb5355bb8b65abc37fc4e83d3e15e3706efb4749797a02d28ea6d3ddc2972b8a09673eadfad3c75a41c81956305f0cc6ab2584ada30028def9f9187
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ## Unreleased
2
2
 
3
+ ## 1.0.1 - 2026-06-25
4
+
5
+ - Report destination callback failures in health, matching core destinations.
6
+ - Require julewire-core 1.0.1.
7
+
3
8
  ## 1.0.0 - 2026-06-21
4
9
 
5
10
  - Initial release: Semantic Logger transport destination with exact payload
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
32
32
  spec.executables = []
33
33
  spec.require_paths = ["lib"]
34
34
 
35
- spec.add_dependency "julewire-core", ">= 1.0"
35
+ spec.add_dependency "julewire-core", ">= 1.0.1"
36
36
  spec.add_dependency "logger", ">= 1.7"
37
37
  spec.add_dependency "semantic_logger", ">= 4.18"
38
38
  spec.add_dependency "zeitwerk", ">= 2.8.1"
@@ -14,7 +14,8 @@ module Julewire
14
14
  @on_failure = validate_optional_callback(on_failure, name: :on_failure)
15
15
  @transport = transport || Transport.new(**transport_options)
16
16
  @health = Core::Integration::DestinationHealth.new(
17
- counter_keys: %i[received formatted written failed],
17
+ callback_failure_counter: :callback_error,
18
+ counter_keys: %i[received formatted written failed callback_error],
18
19
  failure_counter: :failed
19
20
  )
20
21
  end
@@ -98,11 +99,16 @@ module Julewire
98
99
  end
99
100
 
100
101
  def notify_failure(error, **metadata)
101
- Core::Diagnostics::CallbackNotifier.call(@on_failure, error, { destination: name }.merge(metadata))
102
+ callback_result = Core::Diagnostics::CallbackNotifier.call(
103
+ @on_failure,
104
+ error,
105
+ { destination: name }.merge(metadata)
106
+ )
107
+ record_callback_error(callback_result) if Core::Diagnostics::CallbackNotifier.failure?(callback_result)
102
108
  end
103
109
 
104
110
  def record_drop(reason, record)
105
- Core::Diagnostics::CallbackNotifier.call(
111
+ callback_result = Core::Diagnostics::CallbackNotifier.call(
106
112
  @on_drop,
107
113
  reason,
108
114
  {
@@ -112,6 +118,11 @@ module Julewire
112
118
  record_metadata: record_metadata(record)
113
119
  }
114
120
  )
121
+ record_callback_error(callback_result) if Core::Diagnostics::CallbackNotifier.failure?(callback_result)
122
+ end
123
+
124
+ def record_callback_error(callback_failure)
125
+ @health.record_callback_failure(callback_failure)
115
126
  end
116
127
 
117
128
  def record_metadata(record)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Julewire
4
4
  module SemanticLogger
5
- VERSION = "1.0.0"
5
+ VERSION = "1.0.1"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: julewire-semantic_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Grebennik
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: '1.0'
18
+ version: 1.0.1
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - ">="
24
24
  - !ruby/object:Gem::Version
25
- version: '1.0'
25
+ version: 1.0.1
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: logger
28
28
  requirement: !ruby/object:Gem::Requirement