From b572d2b2b7a38be776f41c5aa8443184a1c69072 Mon Sep 17 00:00:00 2001 From: Mike Dalton Date: Tue, 24 Aug 2021 10:14:41 -0400 Subject: [PATCH] Support logging data with nil exception --- lib/ougai/logger.rb | 2 +- spec/logger_spec.rb | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/ougai/logger.rb b/lib/ougai/logger.rb index ca0ae85..c98633a 100644 --- a/lib/ougai/logger.rb +++ b/lib/ougai/logger.rb @@ -120,7 +120,7 @@ def to_item(args) if msg.nil? { msg: @default_message } - elsif ex.nil? + elsif ex.nil? && data.nil? create_item_with_1arg(msg) elsif data.nil? create_item_with_2args(msg, ex) diff --git a/spec/logger_spec.rb b/spec/logger_spec.rb index 46af803..1461e3b 100644 --- a/spec/logger_spec.rb +++ b/spec/logger_spec.rb @@ -277,6 +277,24 @@ def to_hash end end + context 'with message, nil exception and data' do + it 'outputs valid' do + logger.send(method, log_msg, nil, something: { name: 'foo' }) + + expect(item).to be_log_message(log_msg, log_level) + expect(item).to include_data(something: { name: 'foo' }) + end + + it 'outputs valid by block' do + logger.send(method) do + [log_msg, nil, something: { name: 'foo' }] + end + + expect(item).to be_log_message(log_msg, log_level) + expect(item).to include_data(something: { name: 'foo' }) + end + end + context 'without arguments' do it 'outputs only default message' do logger.send(method)