Skip to content

Commit 18d4335

Browse files
committed
fix: Write the log prefix once on the reloader's unexpected error line
1 parent c791480 commit 18d4335

2 files changed

Lines changed: 15 additions & 2 deletions

File tree

‎lib/ldclient-rb/impl/file_data/reloader.rb‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
require "ldclient-rb/impl/file_data/document"
44
require "ldclient-rb/impl/file_data/merge"
5-
require "ldclient-rb/impl/util"
65

76
require "digest"
87

@@ -167,7 +166,8 @@ def stop
167166
end
168167
end
169168
rescue => e
170-
Util.log_exception(@logger, "#{@log_prefix} Unexpected error in file data reloader", e)
169+
@logger.error { "#{@log_prefix} Unexpected error in file data reloader: #{e.inspect}" }
170+
@logger.debug { "#{@log_prefix} Exception trace: #{e.backtrace}" }
171171
end
172172

173173
#

‎spec/impl/file_data/reloader_spec.rb‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,19 @@ def with_reloader(paths, logger: $null_log, reject: 0, **options)
435435
expect(logger.output).to include("Reloading flag data after detecting a change")
436436
end
437437
end
438+
439+
it "writes the configured prefix once on the log line for an unexpected error" do
440+
a = write("a.json", values_doc({ flag1: "a" }))
441+
logger = CapturingLogger.new
442+
allow(FileData).to receive(:read_file).and_raise(RuntimeError, "unexpected")
443+
444+
with_reloader([a], logger: logger, debounce_delay: 0, log_prefix: "[LDClient] Prefix:") do |reloader, _recorder|
445+
reloader.trigger
446+
447+
expect(wait_for { logger.output.include?("Unexpected error") }).to be true
448+
expect(logger.output).to match(/ERROR -- : \[LDClient\] Prefix: Unexpected error in file data reloader/)
449+
end
450+
end
438451
end
439452
end
440453
end

0 commit comments

Comments
 (0)