mirror of
https://github.com/ditkrg/rabbit_carrots.git
synced 2026-01-22 22:06:40 +00:00
Enhances logger initialization by introducing a logger adapter for improved compatibility and flexibility
This commit is contained in:
parent
aee5a1e3cb
commit
076e1f52ce
@ -11,7 +11,7 @@ module RabbitCarrots
|
||||
end
|
||||
|
||||
def initialize(logger: nil)
|
||||
@logger = logger || Logger.new(Rails.env.production? ? '/proc/self/fd/1' : $stdout)
|
||||
@logger = create_logger_adapter(logger || Logger.new(Rails.env.production? ? '/proc/self/fd/1' : $stdout))
|
||||
@threads = []
|
||||
@running = true
|
||||
@shutdown_requested = false
|
||||
@ -115,5 +115,24 @@ module RabbitCarrots
|
||||
logger.error "Bunny session error: #{e.message}"
|
||||
request_shutdown
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def create_logger_adapter(logger)
|
||||
return logger if logger.respond_to?(:info) && logger.respond_to?(:error) && logger.respond_to?(:warn)
|
||||
|
||||
adapter = Object.new
|
||||
def adapter.info(msg)
|
||||
@logger.write("[INFO] #{msg}\n")
|
||||
end
|
||||
def adapter.error(msg)
|
||||
@logger.write("[ERROR] #{msg}\n")
|
||||
end
|
||||
def adapter.warn(msg)
|
||||
@logger.write("[WARN] #{msg}\n")
|
||||
end
|
||||
adapter.instance_variable_set(:@logger, logger)
|
||||
adapter
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
Reference in New Issue
Block a user