Module: JobWorkflow::Logger

Included in:
JobWorkflow
Defined in:
lib/job_workflow/logger.rb,
sig/generated/job_workflow/logger.rbs

Overview

Logger provides structured JSON logging for JobWorkflow workflows.

Examples:

Basic usage

```ruby
JobWorkflow.logger = ActiveSupport::Logger.new($stdout)
JobWorkflow.logger.formatter = JobWorkflow::Logger::JsonFormatter.new
```

With custom log tags

```ruby
JobWorkflow.logger.formatter = JobWorkflow::Logger::JsonFormatter.new(log_tags: [:request_id])
```

Defined Under Namespace

Classes: JsonFormatter

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#loggerActiveSupport::Logger

: () -> ActiveSupport::Logger

Returns:

  • (ActiveSupport::Logger)


20
21
22
# File 'lib/job_workflow/logger.rb', line 20

def logger
  @logger ||= build_default_logger
end

Instance Method Details

#build_default_loggerActiveSupport::Logger

: () -> ActiveSupport::Logger

Returns:

  • (ActiveSupport::Logger)


27
28
29
30
31
# File 'lib/job_workflow/logger.rb', line 27

def build_default_logger
  logger = ActiveSupport::Logger.new($stdout)
  logger.formatter = Logger::JsonFormatter.new
  logger
end