Sha256: 5d52f255dd5582809085cdd6ac7464faf821eb79a43d9706e845106285b540d8

Contents?: true

Size: 616 Bytes

Versions: 5

Compression:

Stored size: 616 Bytes

Contents

# frozen_string_literal: true
# rubocop:todo all

require 'stringio'

# A "Logger-alike" class, quacking like ::Logger, used for recording messages
# as they are written to the log
class RecordingLogger < Logger
  def initialize(*args, **kwargs)
    @buffer = StringIO.new
    super(@buffer, *args, **kwargs)
  end

  # Accesses the raw contents of the log
  #
  # @return [ String ] the raw contents of the log
  def contents
    @buffer.string
  end

  # Returns the contents of the log as individual lines.
  #
  # @return [ Array<String> ] the individual log lines
  def lines
    contents.split(/\n/)
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
mongo-2.21.0 spec/support/recording_logger.rb
mongo-2.20.1 spec/support/recording_logger.rb
mogno-2.20.0 spec/support/recording_logger.rb
mogno-1.0.0 spec/support/recording_logger.rb
mongo-2.20.0 spec/support/recording_logger.rb