1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00
mperham--sidekiq/lib/sidekiq/util.rb

62 lines
1.3 KiB
Ruby
Raw Normal View History

require 'time'
require 'logger'
2012-01-22 14:32:38 -05:00
module Sidekiq
2012-02-17 16:39:36 -05:00
##
# This module is part of Sidekiq core and not intended for extensions.
#
2012-01-22 14:32:38 -05:00
module Util
2012-02-25 16:43:53 -05:00
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
2012-02-25 16:43:53 -05:00
log = Logger.new(STDOUT)
log.level = Logger::INFO
2012-02-25 16:43:53 -05:00
log.formatter = Pretty.new
log
end
end
def self.logger=(log)
@logger = (log ? log : Logger.new('/dev/null'))
end
def constantize(camel_cased_word)
names = camel_cased_word.split('::')
names.shift if names.empty? || names.first.empty?
constant = Object
names.each do |name|
constant = constant.const_defined?(name) ? constant.const_get(name) : constant.const_missing(name)
end
constant
end
2012-01-22 14:32:38 -05:00
def watchdog(last_words)
yield
rescue => ex
logger.error last_words
logger.error ex
logger.error ex.backtrace.join("\n")
2012-01-22 14:32:38 -05:00
end
def logger
Sidekiq::Util.logger
2012-01-22 19:01:46 -05:00
end
def redis(&block)
Sidekiq.redis(&block)
end
def process_id
2012-03-06 23:18:16 -05:00
Process.pid
end
2012-01-22 14:32:38 -05:00
end
end