Module: Prism::Merge::DebugLogger
- Defined in:
- lib/prism/merge/debug_logger.rb
Overview
Internal debug logging utility. Only logs when PRISM_MERGE_DEBUG environment variable is set. Optionally uses Ruby’s Logger if available, otherwise falls back to simple puts. rubocop:disable ThreadSafety/ClassInstanceVariable
Class Attribute Summary collapse
-
.enabled ⇒ Object
readonly
Returns the value of attribute enabled.
Class Method Summary collapse
-
.debug(message, context = {}) ⇒ Object
Log a debug message if debugging is enabled.
Class Attribute Details
.enabled ⇒ Object (readonly)
Returns the value of attribute enabled.
16 17 18 |
# File 'lib/prism/merge/debug_logger.rb', line 16 def enabled @enabled end |
Class Method Details
.debug(message, context = {}) ⇒ Object
Log a debug message if debugging is enabled
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/prism/merge/debug_logger.rb', line 21 def debug(, context = {}) return unless enabled if logger_available? ensure_logger context_str = context.empty? ? "" : " #{context.inspect}" @logger.debug("[prism-merge] #{message}#{context_str}") else context_str = context.empty? ? "" : " | #{context.inspect}" puts "[DEBUG][prism-merge] #{message}#{context_str}" end end |