Class: Fractor::SupervisorLogger
- Inherits:
-
Object
- Object
- Fractor::SupervisorLogger
- Defined in:
- lib/fractor/supervisor_logger.rb
Overview
Handles logging for Supervisor operations. Extracted from Supervisor to follow Single Responsibility Principle.
Instance Attribute Summary collapse
-
#debug_enabled ⇒ Object
readonly
Returns the value of attribute debug_enabled.
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
Instance Method Summary collapse
-
#debug(message) ⇒ Object
Log debug message (only when debug mode is enabled).
-
#debug=(enabled) ⇒ Object
Enable or disable debug mode.
-
#error(message) ⇒ Object
Log error message.
-
#info(message) ⇒ Object
Log info message.
-
#initialize(logger: :default, debug: false) ⇒ SupervisorLogger
constructor
A new instance of SupervisorLogger.
-
#log_error_received(error_result) ⇒ Object
Log error received.
-
#log_processing_status(processed:, total:, queue_size:) ⇒ Object
Log processing status.
-
#log_result_received(result) ⇒ Object
Log result received.
-
#log_work_added(work, total_count, queue_size) ⇒ Object
Log work item status.
-
#log_worker_status(total:, idle:, busy:) ⇒ Object
Log worker status.
-
#warn(message) ⇒ Object
Log warning message.
Constructor Details
#initialize(logger: :default, debug: false) ⇒ SupervisorLogger
Returns a new instance of SupervisorLogger.
9 10 11 12 13 14 15 16 |
# File 'lib/fractor/supervisor_logger.rb', line 9 def initialize(logger: :default, debug: false) @logger = if logger == :default Fractor.logger else logger end @debug_enabled = debug end |
Instance Attribute Details
#debug_enabled ⇒ Object (readonly)
Returns the value of attribute debug_enabled.
7 8 9 |
# File 'lib/fractor/supervisor_logger.rb', line 7 def debug_enabled @debug_enabled end |
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
7 8 9 |
# File 'lib/fractor/supervisor_logger.rb', line 7 def logger @logger end |
Instance Method Details
#debug(message) ⇒ Object
Log debug message (only when debug mode is enabled)
19 20 21 22 23 24 25 26 27 |
# File 'lib/fractor/supervisor_logger.rb', line 19 def debug() return unless @debug_enabled if @logger @logger.debug("[Fractor] #{}") else puts "[DEBUG] #{}" end end |
#debug=(enabled) ⇒ Object
Enable or disable debug mode
84 85 86 |
# File 'lib/fractor/supervisor_logger.rb', line 84 def debug=(enabled) @debug_enabled = enabled end |
#error(message) ⇒ Object
Log error message
48 49 50 51 52 53 54 |
# File 'lib/fractor/supervisor_logger.rb', line 48 def error() if @logger @logger.error("[Fractor] #{}") else Kernel.warn "[ERROR] #{}" end end |
#info(message) ⇒ Object
Log info message
30 31 32 33 34 35 36 |
# File 'lib/fractor/supervisor_logger.rb', line 30 def info() if @logger @logger.info("[Fractor] #{}") else puts "[INFO] #{}" end end |
#log_error_received(error_result) ⇒ Object
Log error received
78 79 80 81 |
# File 'lib/fractor/supervisor_logger.rb', line 78 def log_error_received(error_result) error "Error in worker: #{error_result.error}" error "Work item: #{error_result.work.inspect}" end |
#log_processing_status(processed:, total:, queue_size:) ⇒ Object
Log processing status
68 69 70 |
# File 'lib/fractor/supervisor_logger.rb', line 68 def log_processing_status(processed:, total:, queue_size:) debug "Processing: #{processed}/#{total}, Queue size: #{queue_size}" end |
#log_result_received(result) ⇒ Object
Log result received
73 74 75 |
# File 'lib/fractor/supervisor_logger.rb', line 73 def log_result_received(result) debug "Result received: #{result.inspect}" end |
#log_work_added(work, total_count, queue_size) ⇒ Object
Log work item status
57 58 59 60 |
# File 'lib/fractor/supervisor_logger.rb', line 57 def log_work_added(work, total_count, queue_size) debug "Work item added: #{work.inspect}" debug "Initial work count: #{total_count}, Queue size: #{queue_size}" end |
#log_worker_status(total:, idle:, busy:) ⇒ Object
Log worker status
63 64 65 |
# File 'lib/fractor/supervisor_logger.rb', line 63 def log_worker_status(total:, idle:, busy:) debug "Workers: #{total} total, #{idle} idle, #{busy} busy" end |
#warn(message) ⇒ Object
Log warning message
39 40 41 42 43 44 45 |
# File 'lib/fractor/supervisor_logger.rb', line 39 def warn() if @logger @logger.warn("[Fractor] #{}") else Kernel.warn "[WARN] #{}" end end |