class Loggun::Modifiers::Sidekiq::LoggunFormatter
Public Instance Methods
call(severity, time, _program_name, message)
click to toggle source
# File lib/loggun/modifiers/sidekiq/sidekiq4.rb, line 5 def call(severity, time, _program_name, message) message, loggun_type = prepared_message(message) Loggun::Formatter.new.call(severity, time.utc, nil, message, loggun_type: loggun_type) end
prepared_message(message)
click to toggle source
# File lib/loggun/modifiers/sidekiq/sidekiq4.rb, line 10 def prepared_message(message) if %w[start].include?(message) || message[/^(done|fail):\s(.*)\ssec$/] message, elapsed = split_msg_and_time(message) loggun_type = "sidekiq.job.#{message}" message = { tid: "#{Thread.current.object_id.to_s(36)}", context: context.strip } message[:elapsed] = elapsed if elapsed else loggun_type = 'app.sidekiq.control' message = { tid: Thread.current.object_id.to_s(36), message: message } message.merge!(context: context) if context end [message, loggun_type] end
split_msg_and_time(message)
click to toggle source
# File lib/loggun/modifiers/sidekiq/sidekiq4.rb, line 25 def split_msg_and_time(message) unless message[/^done:\s(.*)\ssec$/] || message[/^fail:\s(.*)\ssec$/] return [message, nil] end msg_type = message[/^done:\s(.*)\ssec$/] ? 'done' : 'fail' msg = message[/#{msg_type}:\s(.*)\ssec/] ? msg_type : message elapsed = message.gsub(/#{msg_type}:\s/, '').gsub('sec', '').strip [msg, elapsed] end