Class: FiberJob::Logger

Inherits:
Object
  • Object
show all
Defined in:
lib/fiber_job/logger.rb

Overview

Logger provides structured logging for FiberJob operations. Wraps the configured logger and provides level-based filtering and FiberJob-specific formatting.

The logger respects the configured log level and only outputs messages at or above the current threshold.

Examples:

Using the logger

FiberJob.logger.info("Job processing started")
FiberJob.logger.error("Job failed: #{error.message}")
FiberJob.logger.debug("Processing queue: #{queue_name}")

See Also:

Constant Summary collapse

LOG_LEVELS =

Log level hierarchy for filtering messages. Lower numbers indicate more verbose logging.

{
  debug: 0,
  info: 1,
  warn: 2,
  error: 3,
  fatal: 4
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Logger

Initializes the logger with configuration settings.

Parameters:

  • config (FiberJob::Config)

    Configuration object containing log level and logger instance



31
32
33
34
# File 'lib/fiber_job/logger.rb', line 31

def initialize(config)
  @config = config
  @level = LOG_LEVELS[@config.log_level.to_sym] || LOG_LEVELS[:info]
end

Instance Method Details

#debug(message) ⇒ void

This method returns an undefined value.

Logs a debug message if debug level is enabled. Used for detailed diagnostic information.

Examples:

Debug logging

FiberJob.logger.debug("Processing job #{job.class.name} with args: #{args.inspect}")

Parameters:

  • message (String)

    The message to log



44
45
46
# File 'lib/fiber_job/logger.rb', line 44

def debug(message)
  log(:debug, message)
end

#error(message) ⇒ void

This method returns an undefined value.

Logs an error message if error level is enabled. Used for error conditions and exceptions.

Examples:

Error logging

FiberJob.logger.error("Job failed: #{error.class.name} - #{error.message}")

Parameters:

  • message (String)

    The message to log



80
81
82
# File 'lib/fiber_job/logger.rb', line 80

def error(message)
  log(:error, message)
end

#fatal(message) ⇒ void

This method returns an undefined value.

Logs a fatal message if fatal level is enabled. Used for severe error conditions that may terminate the process.

Examples:

Fatal logging

FiberJob.logger.fatal("Unable to connect to Redis, shutting down")

Parameters:

  • message (String)

    The message to log



92
93
94
# File 'lib/fiber_job/logger.rb', line 92

def fatal(message)
  log(:fatal, message)
end

#info(message) ⇒ void

This method returns an undefined value.

Logs an info message if info level is enabled. Used for general operational messages.

Examples:

Info logging

FiberJob.logger.info("Worker started processing queue: #{queue_name}")

Parameters:

  • message (String)

    The message to log



56
57
58
# File 'lib/fiber_job/logger.rb', line 56

def info(message)
  log(:info, message)
end

#warn(message) ⇒ void

This method returns an undefined value.

Logs a warning message if warn level is enabled. Used for concerning but non-fatal conditions.

Examples:

Warning logging

FiberJob.logger.warn("Queue #{queue_name} is getting full")

Parameters:

  • message (String)

    The message to log



68
69
70
# File 'lib/fiber_job/logger.rb', line 68

def warn(message)
  log(:warn, message)
end