File tree Expand file tree Collapse file tree 3 files changed +95
-0
lines changed
Expand file tree Collapse file tree 3 files changed +95
-0
lines changed Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ require 'bundler/inline'
4+
5+ gemfile ( true ) do
6+ source 'https://rubygems.org'
7+
8+ gem 'opentelemetry-logs-api' , path : '../../logs_api'
9+ gem 'opentelemetry-logs-sdk' , path : '../../logs_sdk'
10+ end
11+
12+ require 'opentelemetry-logs-sdk'
13+
14+ # Create a LoggerProvider
15+ logger_provider = OpenTelemetry ::SDK ::Logs ::LoggerProvider . new
16+ # Create a batching processor configured to export to the OTLP exporter
17+ processor = OpenTelemetry ::SDK ::Logs ::Export ::SimpleLogRecordProcessor . new ( OpenTelemetry ::SDK ::Logs ::Export ::ConsoleLogRecordExporter . new )
18+ # Add the processor to the LoggerProvider
19+ logger_provider . add_log_record_processor ( processor )
20+ # Access a Logger for your library from your LoggerProvider
21+ logger = logger_provider . logger ( name : 'my_app_or_gem' , version : '0.1.0' )
22+
23+ # Use your Logger to emit a log record
24+ logger . on_emit (
25+ timestamp : Time . now ,
26+ severity_text : 'INFO' ,
27+ body : 'Thuja plicata' ,
28+ attributes : { 'cedar' => true } ,
29+ )
30+
31+ logger_provider . shutdown
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ require 'bundler/inline'
4+
5+ gemfile ( true ) do
6+ source 'https://rubygems.org'
7+
8+ gem 'opentelemetry-sdk' , path : '../../sdk'
9+ gem 'opentelemetry-logs-api' , path : '../../logs_api'
10+ gem 'opentelemetry-logs-sdk' , path : '../../logs_sdk'
11+ end
12+
13+ require 'opentelemetry-sdk'
14+ require 'opentelemetry-logs-sdk'
15+
16+ # Export logs to the console
17+ ENV [ 'OTEL_LOGS_EXPORTER' ] = 'console'
18+
19+ # Configure SDK with defaults, this will apply the OTEL_LOGS_EXPORTER env var
20+ OpenTelemetry ::SDK . configure
21+
22+ # Access a Logger for your library from the LoggerProvider configured by the OpenTelemetry API
23+ logger = OpenTelemetry . logger_provider . logger ( name : 'my_app_or_gem' , version : '0.1.0' )
24+
25+ # Use your Logger to emit a log record
26+ logger . on_emit (
27+ timestamp : Time . now ,
28+ severity_text : 'INFO' ,
29+ body : 'Thuja plicata' ,
30+ attributes : { 'cedar' => true } ,
31+ )
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ require 'bundler/inline'
4+
5+ gemfile ( true ) do
6+ source 'https://rubygems.org'
7+
8+ gem 'opentelemetry-logs-api' , path : '../../logs_api'
9+ gem 'opentelemetry-logs-sdk' , path : '../../logs_sdk'
10+ gem 'opentelemetry-exporter-otlp-logs' , path : '../../exporter/otlp-logs'
11+ end
12+
13+ require 'opentelemetry-logs-sdk'
14+ require 'opentelemetry/exporter/otlp_logs'
15+
16+ # Create a LoggerProvider
17+ logger_provider = OpenTelemetry ::SDK ::Logs ::LoggerProvider . new
18+ # Create a batching processor configured to export to the OTLP exporter
19+ processor = OpenTelemetry ::SDK ::Logs ::Export ::BatchLogRecordProcessor . new ( OpenTelemetry ::Exporter ::OTLP ::Logs ::LogsExporter . new )
20+ # Add the processor to the LoggerProvider
21+ logger_provider . add_log_record_processor ( processor )
22+ # Access a Logger for your library from your LoggerProvider
23+ logger = logger_provider . logger ( name : 'my_app_or_gem' , version : '0.1.0' )
24+
25+ # Use your Logger to emit a log record
26+ logger . on_emit (
27+ timestamp : Time . now ,
28+ severity_text : 'INFO' ,
29+ body : 'Thuja plicata' ,
30+ attributes : { 'cedar' => true } ,
31+ )
32+
33+ logger_provider . shutdown
You can’t perform that action at this time.
0 commit comments