Class: PactBroker::Logging::OpenTelemetryAppenderSetup
- Inherits:
-
Object
- Object
- PactBroker::Logging::OpenTelemetryAppenderSetup
- Defined in:
- lib/pact_broker/logging/open_telemetry_appender_setup.rb
Overview
Adds semantic_logger's :open_telemetry appender when configured, without taking a hard dependency on the OpenTelemetry gems.
Class Method Summary collapse
Instance Method Summary collapse
-
#call ⇒ Object
Returns the added (or already-present) appender, or nil if none was added.
-
#initialize(runtime_configuration) ⇒ OpenTelemetryAppenderSetup
constructor
A new instance of OpenTelemetryAppenderSetup.
Constructor Details
#initialize(runtime_configuration) ⇒ OpenTelemetryAppenderSetup
Returns a new instance of OpenTelemetryAppenderSetup.
13 14 15 |
# File 'lib/pact_broker/logging/open_telemetry_appender_setup.rb', line 13 def initialize(runtime_configuration) @runtime_configuration = runtime_configuration end |
Class Method Details
.call(runtime_configuration) ⇒ Object
9 10 11 |
# File 'lib/pact_broker/logging/open_telemetry_appender_setup.rb', line 9 def self.call(runtime_configuration) new(runtime_configuration).call end |
Instance Method Details
#call ⇒ Object
Returns the added (or already-present) appender, or nil if none was added.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/pact_broker/logging/open_telemetry_appender_setup.rb', line 18 def call case @runtime_configuration.log_otel_enabled when false nil when true unless otel_available? raise PactBroker::ConfigurationError, "log_otel_enabled is set to true but the opentelemetry-logs-sdk gem could not be loaded. " \ "Add it to your Gemfile, or set log_otel_enabled to auto/false." end add_appender(warn_if_no_provider: true) else # :auto add_appender(warn_if_no_provider: false) if otel_available? && otel_provider_configured? end end |