lib/bunny/session.rb in bunny-1.7.0 vs lib/bunny/session.rb in bunny-1.7.1
- old
+ new
@@ -142,14 +142,15 @@
@port = self.port_from(opts)
@user = self.username_from(opts)
@pass = self.password_from(opts)
@vhost = self.vhost_from(opts)
- @logfile = opts[:log_file] || opts[:logfile] || STDOUT
@threaded = opts.fetch(:threaded, true)
- @logger = opts.fetch(:logger, init_logger(opts[:log_level] || ENV["BUNNY_LOG_LEVEL"] || Logger::WARN))
+ log_file = opts[:log_file] || opts[:logfile] || STDOUT
+ log_level = opts[:log_level] || ENV["BUNNY_LOG_LEVEL"] || Logger::WARN
+ @logger = opts.fetch(:logger, init_default_logger(log_file, log_level))
# should automatic recovery from network failures be used?
@automatically_recover = if opts[:automatically_recover].nil? && opts[:automatic_recovery].nil?
true
else
@@ -1101,12 +1102,12 @@
if host = @hosts[ @host_index ]
@host_index_mutex.synchronize { @host_index += 1 }
@transport.close rescue nil # Let's make sure the previous transport socket is closed
@transport = Transport.new(self, host, @port, @opts.merge(:session_thread => @origin_thread))
- # Reset the cached progname for the logger
- @logger.progname = to_s if @logger.respond_to?(:progname)
+ # Reset the cached progname for the logger only when no logger was provided
+ @default_logger.progname = self.to_s
@transport
else
raise HostListDepleted
end
@@ -1155,15 +1156,16 @@
@continuations.poll(@continuation_timeout)
end
# @private
- def init_logger(level)
- lgr = ::Logger.new(@logfile)
- lgr.level = normalize_log_level(level)
- lgr.progname = self.to_s
-
- lgr
+ def init_default_logger(logfile, level)
+ @default_logger = begin
+ lgr = ::Logger.new(logfile)
+ lgr.level = normalize_log_level(level)
+ lgr.progname = self.to_s
+ lgr
+ end
end
# @private
def normalize_log_level(level)
case level