Skip to content

Commit

Permalink
Use log_writer for Puma v.6
Browse files Browse the repository at this point in the history
  • Loading branch information
amrrbakry committed Dec 22, 2022
1 parent 27556b2 commit 1589bd3
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions lib/puma/plugin/telemetry.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down

0 comments on commit 1589bd3

Please sign in to comment.