From 00247bed995cbd4573a87685141bd8b9d13fbf4f Mon Sep 17 00:00:00 2001 From: rhymes Date: Tue, 22 Dec 2020 20:02:07 +0100 Subject: [PATCH] Log error message inline when Feeds::Import fails (#12012) --- app/services/feeds/import.rb | 5 +++-- spec/services/feeds/import_spec.rb | 9 +++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/services/feeds/import.rb b/app/services/feeds/import.rb index 590f3723d..9be0520a9 100644 --- a/app/services/feeds/import.rb +++ b/app/services/feeds/import.rb @@ -151,8 +151,9 @@ module Feeds end def report_error(error, metadata) - Rails.logger.error("feeds::import::error::#{error.class}::#{metadata}") - Rails.logger.error(error) + Rails.logger.error( + "feeds::import::error::#{error.class}::#{metadata.merge(error_message: error.message)}", + ) end def item_count_error(feed) diff --git a/spec/services/feeds/import_spec.rb b/spec/services/feeds/import_spec.rb index b9f7b6f5f..db75fafb4 100644 --- a/spec/services/feeds/import_spec.rb +++ b/spec/services/feeds/import_spec.rb @@ -96,6 +96,15 @@ RSpec.describe Feeds::Import, type: :service, vcr: true, db_strategy: :truncatio expect(Rails.logger).to have_received(:error).at_least(:once) end + + it "logs the error message" do + allow(Feedjira).to receive(:parse).and_raise("this is an error") + allow(Rails.logger).to receive(:error) + + described_class.call + + expect(Rails.logger).to have_received(:error).at_least(:once).with(/error_message=>"this is an error"/) + end end context "with an explicit set of users", vcr: { cassette_name: "feeds_import" } do