Console GuidesIntegration


This guide explains how to integrate the console output into different systems.

Output Redirection

The console is primarily an interface for logging, with a general purpose implementation which can log to a terminal (human readable) or a file (JSON by default). Output can also be augmented, redirected or manipulated by adding output wrappers. The output wrappers are generally configured using environment variables.


This output wrapper augments log messages with trace metadata so that the log messages can be correlated with spans. Note that the default output is still used Console::Output::Default.

$ CONSOLE_OUTPUT='Console::Output::Datadog,Console::Output::Default' ./app.rb

The Console::Output::Datadog is a wrapper that augments the metadata of the log message with the trace_id and span_id.

Custom Output Wrapper

It's straight forward to define your own output wrapper:

# Add a happy face to all log messages.
class HappyLogger
	def call(subject = nil, *arguments, **options, &block)
		arguments << "😊", *arguments, **options, &block)