mirror of
https://github.com/mperham/sidekiq.git
synced 2022-11-09 13:52:34 -05:00
Better logging, fixes GH-55
This commit is contained in:
parent
f2da181765
commit
bf377d44e8
3 changed files with 38 additions and 1 deletions
27
lib/sidekiq/middleware/server/logging.rb
Normal file
27
lib/sidekiq/middleware/server/logging.rb
Normal file
|
@ -0,0 +1,27 @@
|
|||
module Sidekiq
|
||||
module Middleware
|
||||
module Server
|
||||
class Logging
|
||||
def call(*args)
|
||||
static = "#{args[0].class.to_s} MSG-#{args[0].object_id.to_s(36)}" if logger.info?
|
||||
start = Time.now
|
||||
logger.info { "#{static} start" }
|
||||
yield
|
||||
logger.info { "#{static} done: #{elapsed(start)} sec" }
|
||||
rescue
|
||||
logger.info { "#{static} fail: #{elapsed(start)} sec" }
|
||||
raise
|
||||
end
|
||||
|
||||
def elapsed(start)
|
||||
(Time.now - start).to_f.round(3)
|
||||
end
|
||||
|
||||
def logger
|
||||
Sidekiq::Util.logger
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -5,6 +5,7 @@ require 'sidekiq/middleware/server/active_record'
|
|||
require 'sidekiq/middleware/server/exception_handler'
|
||||
require 'sidekiq/middleware/server/unique_jobs'
|
||||
require 'sidekiq/middleware/server/failure_jobs'
|
||||
require 'sidekiq/middleware/server/logging'
|
||||
|
||||
module Sidekiq
|
||||
class Processor
|
||||
|
@ -18,6 +19,7 @@ module Sidekiq
|
|||
def self.default_middleware
|
||||
Middleware::Chain.new do |m|
|
||||
m.add Middleware::Server::ExceptionHandler
|
||||
m.add Middleware::Server::Logging
|
||||
m.add Middleware::Server::UniqueJobs
|
||||
m.add Middleware::Server::ActiveRecord
|
||||
end
|
||||
|
|
|
@ -6,10 +6,18 @@ module Sidekiq
|
|||
#
|
||||
module Util
|
||||
|
||||
class Pretty < Logger::Formatter
|
||||
# Provide a call() method that returns the formatted message.
|
||||
def call(severity, time, program_name, message)
|
||||
"#{time.utc.iso8601} #{Process.pid} TID-#{Thread.current.object_id.to_s(36)} #{severity}: #{message}\n"
|
||||
end
|
||||
end
|
||||
|
||||
def self.logger
|
||||
@logger ||= begin
|
||||
log = Logger.new(STDERR)
|
||||
log = Logger.new(STDOUT)
|
||||
log.level = Logger::INFO
|
||||
log.formatter = Pretty.new
|
||||
log
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue