Class: Datadog::OpenTelemetry::Logs
- Inherits:
-
Object
- Object
- Datadog::OpenTelemetry::Logs
- Includes:
- SignalConfiguration
- Defined in:
- lib/datadog/opentelemetry/logs.rb
Class Method Summary collapse
Instance Method Summary collapse
- #configure_logs_sdk ⇒ Object
-
#initialize(components) ⇒ Logs
constructor
A new instance of Logs.
Constructor Details
#initialize(components) ⇒ Logs
Returns a new instance of Logs.
21 22 23 24 25 26 |
# File 'lib/datadog/opentelemetry/logs.rb', line 21 def initialize(components) @logger = components.logger @settings = components.settings @agent_host = components.agent_settings.hostname @agent_ssl = components.agent_settings.ssl end |
Class Method Details
.initialize!(components) ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/datadog/opentelemetry/logs.rb', line 11 def self.initialize!(components) new(components).configure_logs_sdk true rescue => exc components.logger.warn( "Failed to initialize OpenTelemetry logs: #{exc.class}: #{exc.}\n#{(exc.backtrace || []).join("\n")}" ) false end |
Instance Method Details
#configure_logs_sdk ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/datadog/opentelemetry/logs.rb', line 28 def configure_logs_sdk provider = ::OpenTelemetry.logger_provider provider.shutdown if provider.is_a?(::OpenTelemetry::SDK::Logs::LoggerProvider) resource = create_resource provider = ::OpenTelemetry::SDK::Logs::LoggerProvider.new(resource: resource) processor_configured = configure_log_record_processor(provider) ::OpenTelemetry.logger_provider = provider disable_log_injection if processor_configured end |