class SemanticLogger::Test::CaptureLogEvents

end
end
end
assert_equal :info, log.level
assert_equal “Hello World”, log.message
assert log = logger.events.first
end
user.enable!
user.stub(:logger, logger) do
it “logs message” do
let(:user) { User.new }
let(:logger) { SemanticLogger::Test::CaptureLogEvents.new }
describe User do
class UserTest < ActiveSupport::TestCase
Example:
Logging class to captures all logging events in memory.

def batch(_logs)

Supports batching of log events
def batch(_logs)
  @events += log
end

def clear

def clear
  @events.clear
end

def initialize(level: :trace, metrics: true)

By default collect all log levels, and collect metric only log events.
def initialize(level: :trace, metrics: true)
  super(level: level, metrics: true)
  @events = []
end

def level_index

Support silencing of log messages
def level_index
  @level_index || SemanticLogger.default_level_index
end

def log(log)

def log(log)
  Logger.call_subscribers(log)
  @events << log
end

def to_h

def to_h
  events.map(&:to_h)
end