From 1589bd3b334af810306195932dd359feb937e91b Mon Sep 17 00:00:00 2001 From: Amr Mohamed Date: Thu, 22 Dec 2022 16:26:25 +0100 Subject: [PATCH] Use log_writer for Puma v.6 --- lib/puma/plugin/telemetry.rb | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/lib/puma/plugin/telemetry.rb b/lib/puma/plugin/telemetry.rb index e599853..235ecb2 100644 --- a/lib/puma/plugin/telemetry.rb +++ b/lib/puma/plugin/telemetry.rb @@ -63,13 +63,14 @@ def socket_telemetry(telemetry, launcher) # module PluginInstanceMethods def start(launcher) + @launcher = launcher + unless Puma::Plugin::Telemetry.config.enabled? - launcher.events.log 'plugin=telemetry msg="disabled, exiting..."' + log_writer.log 'plugin=telemetry msg="disabled, exiting..."' return end - @launcher = launcher - @launcher.events.log 'plugin=telemetry msg="enabled, setting up runner..."' + log_writer.log 'plugin=telemetry msg="enabled, setting up runner..."' in_background do sleep Puma::Plugin::Telemetry.config.initial_delay @@ -79,13 +80,13 @@ def start(launcher) def run! loop do - @launcher.events.debug 'plugin=telemetry msg="publish"' + log_writer.debug 'plugin=telemetry msg="publish"' call(Puma::Plugin::Telemetry.build(@launcher)) rescue Errno::EPIPE # Occurs when trying to output to STDOUT while puma is shutting down rescue StandardError => e - @launcher.events.error "plugin=telemetry err=#{e.class} msg=#{e.message.inspect}" + log_writer.error "plugin=telemetry err=#{e.class} msg=#{e.message.inspect}" ensure sleep Puma::Plugin::Telemetry.config.frequency end @@ -96,6 +97,16 @@ def call(telemetry) target.call(telemetry) end end + + private + + def log_writer + if Puma::Const::PUMA_VERSION.to_i < 6 + @launcher.events + else + @launcher.log_writer + end + end end end end