Module: SkillBench::ErrorLogger
- Defined in:
- lib/skill_bench/error_logger.rb
Overview
Shared error logging mixin for service objects. Logs error message and backtrace to Rails.logger or stderr.
Class Method Summary collapse
-
.log_error(error, prefix = nil) ⇒ void
Logs an error with message and backtrace.
-
.skip_stderr_output? ⇒ Boolean
True when stderr should be skipped (test mode without explicit capture).
Class Method Details
.log_error(error, prefix = nil) ⇒ void
This method returns an undefined value.
Logs an error with message and backtrace.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/skill_bench/error_logger.rb', line 12 def log_error(error, prefix = nil) = prefix ? "#{prefix}: #{error.}" : error. backtrace = error.backtrace&.first(5)&.join("\n") || '(no backtrace)' return if skip_stderr_output? if defined?(Rails) && Rails.respond_to?(:logger) && Rails.logger Rails.logger.error() Rails.logger.error(backtrace) else warn() warn(backtrace) end end |
.skip_stderr_output? ⇒ Boolean
Returns true when stderr should be skipped (test mode without explicit capture).
28 29 30 |
# File 'lib/skill_bench/error_logger.rb', line 28 def skip_stderr_output? defined?(Minitest) && !$stderr.is_a?(StringIO) end |