test/loggable_test.rb in semantic_logger-2.16.0 vs test/loggable_test.rb in semantic_logger-2.17.0
- old
+ new
@@ -12,31 +12,41 @@
before do
@time = Time.new
@io = StringIO.new
@appender = SemanticLogger::Appender::File.new(@io)
SemanticLogger.default_level = :trace
- SemanticLogger.add_appender(@appender)
- @hash = {session_id: 'HSSKLEU@JDK767', tracking_number: 12345}
- @hash_str = @hash.inspect.sub("{", "\\{").sub("}", "\\}")
- @thread_name = Thread.current.name
+ @mock_logger = MockLogger.new
+ @appender = SemanticLogger.add_appender(@mock_logger)
+ @hash = {session_id: 'HSSKLEU@JDK767', tracking_number: 12345}
+ @hash_str = @hash.inspect.sub("{", "\\{").sub("}", "\\}")
+ @thread_name = Thread.current.name
end
after do
SemanticLogger.remove_appender(@appender)
end
- describe "for each log level" do
+ describe 'for each log level' do
# Ensure that any log level can be logged
SemanticLogger::LEVELS.each do |level|
it "log #{level} information with class attribute" do
- TestAttribute.logger.send(level, "hello #{level}", @hash)
- SemanticLogger.flush
- assert_match /\d+-\d+-\d+ \d+:\d+:\d+.\d+ \w \[\d+:#{@thread_name}\] TestAttribute -- hello #{level} -- #{@hash_str}\n/, @io.string
+ SemanticLogger.stub(:backtrace_level_index, 0) do
+ SemanticLogger.stub(:appenders, [@appender]) do
+ TestAttribute.logger.send(level, "hello #{level}", @hash)
+ SemanticLogger.flush
+ assert_match /\d+-\d+-\d+ \d+:\d+:\d+.\d+ \w \[\d+:#{@thread_name} loggable_test.rb:\d+\] TestAttribute -- hello #{level} -- #{@hash_str}/, @mock_logger.message
+ end
+ end
end
+
it "log #{level} information with instance attribute" do
- TestAttribute.new.logger.send(level, "hello #{level}", @hash)
- SemanticLogger.flush
- assert_match /\d+-\d+-\d+ \d+:\d+:\d+.\d+ \w \[\d+:#{@thread_name}\] TestAttribute -- hello #{level} -- #{@hash_str}\n/, @io.string
+ SemanticLogger.stub(:backtrace_level_index, 0) do
+ SemanticLogger.stub(:appenders, [@appender]) do
+ TestAttribute.new.logger.send(level, "hello #{level}", @hash)
+ SemanticLogger.flush
+ assert_match /\d+-\d+-\d+ \d+:\d+:\d+.\d+ \w \[\d+:#{@thread_name} loggable_test.rb:\d+\] TestAttribute -- hello #{level} -- #{@hash_str}/, @mock_logger.message
+ end
+ end
end
end
end
end