# File lib/cabin/channel.rb, line 136 def subscribe(output, options = {}) # Wrap ruby stdlib Logger if given. if output.is_a?(::Logger) output = Cabin::Outputs::StdlibLogger.new(output) elsif output.is_a?(::IO) output = Cabin::Outputs::IO.new(output) end @subscriber_lock.synchronize do @subscribers[output.object_id] = Cabin::Subscriber.new(output, options) end return output.object_id end