Skip to content

Commit

Permalink
make export logger
Browse files Browse the repository at this point in the history
  • Loading branch information
kaylareopelle committed Nov 22, 2023
1 parent 7d1e08f commit 0b50288
Showing 1 changed file with 15 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,16 @@ def initialize(endpoint: OpenTelemetry::Common::Utilities.config_opt('OTEL_EXPOR
@timeout = timeout.to_f
@compression = compression
@shutdown = false
@logger = create_logger
end

def create_logger
logger = Logger.new($stdout, level: ENV['OTEL_LOG_LEVEL'] || Logger::INFO)
# @skip_instrumenting prevents Ruby Logger instrumentation from
# triggering a stack overflow. Logs emitted using OpenTelemetry.logger
# will not be turned into OpenTelemetry LogRecords.
logger.instance_variable_set(:@skip_instrumenting, true)
logger
end

# Called to export sampled {OpenTelemetry::SDK::Logs::LogRecordData} structs.
Expand Down Expand Up @@ -128,11 +138,11 @@ def around_request
end

def send_bytes(bytes, timeout:) # rubocop:disable Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
logger.error("From Logs exporter: bytes.nil? #{bytes.nil?}")
@logger.error("From Logs exporter: bytes.nil? #{bytes.nil?}")
return FAILURE if bytes.nil?

logger.error("LOGZ: path - #{@path}")
logger.error("LOGZ: compression - #{@compression}")
@logger.error("LOGZ: path - #{@path}")
@logger.error("LOGZ: compression - #{@compression}")
request = Net::HTTP::Post.new(@path)
if @compression == 'gzip'
request.add_field('Content-Encoding', 'gzip')
Expand All @@ -159,7 +169,7 @@ def send_bytes(bytes, timeout:) # rubocop:disable Metrics/CyclomaticComplexity,
@http.start unless @http.started?
response = measure_request_duration { @http.request(request) }

logger.error("LOGZ response: #{response}")
@logger.error("LOGZ response: #{response}")
case response
when Net::HTTPOK
response.body # Read and discard body
Expand Down Expand Up @@ -266,7 +276,7 @@ def backoff?(retry_count:, reason:, retry_after: nil) # rubocop:disable Metrics/
end

def encode(log_record_data) # rubocop:disable Metrics/MethodLength, Metrics/CyclomaticComplexity
logger.error("Logs exporter made it to encode!")
@logger.error("Logs exporter made it to encode!")
Opentelemetry::Proto::Collector::Logs::V1::ExportLogsServiceRequest.encode(
Opentelemetry::Proto::Collector::Logs::V1::ExportLogsServiceRequest.new(
resource_logs: log_record_data
Expand Down

0 comments on commit 0b50288

Please sign in to comment.