Class: Yes::Core::CommandHandling::ReadModelRevisionGuard::ContextualLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/yes/core/command_handling/read_model_revision_guard.rb

Overview

Logger wrapper that adds revision context to log messages

Instance Method Summary collapse

Constructor Details

#initialize(base_logger, context) ⇒ ContextualLogger

Returns a new instance of ContextualLogger.



23
24
25
26
# File 'lib/yes/core/command_handling/read_model_revision_guard.rb', line 23

def initialize(base_logger, context)
  @base_logger = base_logger
  @context = context
end

Instance Method Details

#debug(message) ⇒ Object



43
44
45
46
47
48
49
# File 'lib/yes/core/command_handling/read_model_revision_guard.rb', line 43

def debug(message)
  return unless base_logger&.debug?

  base_logger.debug(
    "#{message} for revision #{context.expected_revision} (current: #{context.current_revision})"
  )
end

#debug?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/yes/core/command_handling/read_model_revision_guard.rb', line 51

def debug?
  base_logger&.debug?
end

#error(message) ⇒ Object



34
35
36
37
38
39
40
41
# File 'lib/yes/core/command_handling/read_model_revision_guard.rb', line 34

def error(message)
  return unless base_logger

  base_logger.error(
    "#{message} for revision #{context.expected_revision}. " \
    "Current revision: #{context.current_revision}"
  )
end

#info(message) ⇒ Object



28
29
30
31
32
# File 'lib/yes/core/command_handling/read_model_revision_guard.rb', line 28

def info(message)
  return unless base_logger

  base_logger.info("#{message} for revision #{context.expected_revision}")
end