dial 0.5.1 → 0.5.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: d4f60345ab5528878505773aa1b5875d4e00164ac9e94968584a40ecbb18b251
4
- data.tar.gz: 5d2d5399d37be584ed2dd17f39cd98ed45af05a66e2eb8609fd340ef54dbeeb9
3
+ metadata.gz: 6cd83bb50a207183202f0f0f9775d060446a352cf88382252fdfc00c4dbb4de6
4
+ data.tar.gz: a84109907f3884386ce2122ba5173c33ebc8da6e1c900bb94439389a274887b7
5
5
  SHA512:
6
- metadata.gz: f78cf96c6482b571710c49363e00e7ffb5e65f8e07f180d9e5d99ce862af4d28c2032ff8757b565dc053699e0d4d044dfae26346de297b310c4324c659101216
7
- data.tar.gz: 522ab5c9d3f3e556a71f440256a36d6f2bedc0abb5dccab05c147bc21a50332da581683188fcb1f672c58fc05773782d65fb575995d6adc0f0a856b9e78d6e8c
6
+ metadata.gz: b1e2a82ea64022c1dcf83f5fc5ae7cdfc3f53794552c9752f4d39f4f490bfcbc25bb3b1632b211ba08c4e4af7c1dd22483c037d06cf2b59dcda44b9d36c92bd7
7
+ data.tar.gz: 27075354578df3d541fdacb9704959c097a4cd2a128653b8e67b57424b64d934e5c50e1f335a33111012ba2f87b381048cde8ac4d12961dce86cea4059edf54d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.5.2] - 2025-10-04
4
+
5
+ - Preserve existing prosopite custom loggers
6
+
3
7
  ## [0.5.1] - 2025-09-27
4
8
 
5
9
  - Don't clean up stale storage data in railtie
@@ -2,8 +2,35 @@
2
2
 
3
3
  require "active_support/core_ext/string/filters"
4
4
 
5
+ require_relative "prosopite_composite_logger"
6
+
5
7
  module Dial
6
8
  module Prosopite
9
+ def custom_logger= logger
10
+ return super logger if @setting_dial_logger
11
+
12
+ @original_logger = logger
13
+
14
+ if @dial_logger && @original_logger
15
+ super ProsopiteCompositeLogger.new @dial_logger, @original_logger
16
+ else
17
+ super logger
18
+ end
19
+ end
20
+
21
+ def dial_logger= logger
22
+ @dial_logger = logger
23
+
24
+ @setting_dial_logger = true
25
+ if @original_logger
26
+ self.custom_logger = ProsopiteCompositeLogger.new @dial_logger, @original_logger
27
+ else
28
+ self.custom_logger = @dial_logger
29
+ end
30
+ ensure
31
+ @setting_dial_logger = false
32
+ end
33
+
7
34
  def send_notifications
8
35
  tc[:prosopite_notifications] = tc[:prosopite_notifications].to_h do |queries, kaller|
9
36
  [queries.map { |query| query.squish }, kaller]
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "logger"
4
+
5
+ module Dial
6
+ class ProsopiteCompositeLogger
7
+ def initialize dial_logger, existing_logger = nil
8
+ @dial_logger = dial_logger
9
+ @existing_logger = existing_logger
10
+ end
11
+
12
+ def level
13
+ @dial_logger.level
14
+ end
15
+
16
+ def level= value
17
+ @dial_logger.level = value
18
+ @existing_logger.level = value if @existing_logger&.respond_to? :level=
19
+ end
20
+
21
+ def method_missing method, *args, &block
22
+ result = nil
23
+ result = @dial_logger.send method, *args, &block if @dial_logger.respond_to? method
24
+ @existing_logger.send method, *args, &block if @existing_logger&.respond_to? method
25
+ result
26
+ end
27
+
28
+ def respond_to_missing? method, include_private = false
29
+ @dial_logger.respond_to?(method, include_private) ||
30
+ @existing_logger&.respond_to?(method, include_private) ||
31
+ false
32
+ end
33
+ end
34
+ end
data/lib/dial/railtie.rb CHANGED
@@ -15,7 +15,7 @@ module Dial
15
15
  if ::ActiveRecord::Base.configurations.configurations.any? { |config| config.adapter == "postgresql" }
16
16
  require "pg_query"
17
17
  end
18
- ::Prosopite.custom_logger = ProsopiteLogger.new
18
+ ::Prosopite.dial_logger = ProsopiteLogger.new
19
19
 
20
20
  # finalize configuration
21
21
  Dial._configuration.freeze
data/lib/dial/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dial
4
- VERSION = "0.5.1"
4
+ VERSION = "0.5.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dial
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Young
@@ -114,6 +114,7 @@ files:
114
114
  - lib/dial/middleware/rails_stat.rb
115
115
  - lib/dial/middleware/ruby_stat.rb
116
116
  - lib/dial/prosopite.rb
117
+ - lib/dial/prosopite_composite_logger.rb
117
118
  - lib/dial/prosopite_logger.rb
118
119
  - lib/dial/railtie.rb
119
120
  - lib/dial/storage.rb