Class: Temporalio::Internal::Worker::WorkflowInstance::ReplaySafeLogger
- Inherits:
-
ScopedLogger
- Object
- SimpleDelegator
- ScopedLogger
- Temporalio::Internal::Worker::WorkflowInstance::ReplaySafeLogger
- Defined in:
- lib/temporalio/internal/worker/workflow_instance/replay_safe_logger.rb
Overview
Wrapper for a scoped logger that does not log on replay.
Instance Attribute Summary
Attributes inherited from ScopedLogger
#disable_scoped_values, #scoped_values_getter
Instance Method Summary collapse
- #add ⇒ Object
-
#initialize(logger:, instance:) ⇒ ReplaySafeLogger
constructor
A new instance of ReplaySafeLogger.
- #replay_safety_disabled ⇒ Object
Methods inherited from ScopedLogger
#debug, #error, #fatal, #info, #unknown, #warn
Constructor Details
#initialize(logger:, instance:) ⇒ ReplaySafeLogger
Returns a new instance of ReplaySafeLogger.
12 13 14 15 16 |
# File 'lib/temporalio/internal/worker/workflow_instance/replay_safe_logger.rb', line 12 def initialize(logger:, instance:) @instance = instance @replay_safety_disabled = false super(logger) end |
Instance Method Details
#add ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/temporalio/internal/worker/workflow_instance/replay_safe_logger.rb', line 25 def add(...) if !@replay_safety_disabled && Temporalio::Workflow.in_workflow? && Temporalio::Workflow::Unsafe. return true end # Disable illegal call tracing for the log call @instance.illegal_call_tracing_disabled { super } end |
#replay_safety_disabled ⇒ Object
18 19 20 21 22 23 |
# File 'lib/temporalio/internal/worker/workflow_instance/replay_safe_logger.rb', line 18 def replay_safety_disabled(&) @replay_safety_disabled = true yield ensure @replay_safety_disabled = false end |