From 80fdab5c361bad560272933bf37bc3468bc7fbf6 Mon Sep 17 00:00:00 2001 From: Jonathan Lee Date: Tue, 29 Jul 2025 15:51:31 -0700 Subject: [PATCH 1/5] add compressed console log exporter for lambda environment --- .../distro/aws_opentelemetry_configurator.py | 8 ++- .../logs/compressed_console_log_exporter.py | 16 +++++ .../test_compressed_console_log_exporter.py | 72 +++++++++++++++++++ .../test_aws_opentelementry_configurator.py | 57 ++++++++++++++- 4 files changed, 151 insertions(+), 2 deletions(-) create mode 100644 aws-opentelemetry-distro/src/amazon/opentelemetry/distro/exporter/console/logs/compressed_console_log_exporter.py create mode 100644 aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/exporter/console/logs/test_compressed_console_log_exporter.py diff --git a/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py index b89b0bcb1..22e03a11b 100644 --- a/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py +++ b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py @@ -23,6 +23,9 @@ AwsMetricAttributesSpanExporterBuilder, ) from amazon.opentelemetry.distro.aws_span_metrics_processor_builder import AwsSpanMetricsProcessorBuilder +from amazon.opentelemetry.distro.exporter.console.logs.compressed_console_log_exporter import ( + CompressedConsoleLogExporter, +) from amazon.opentelemetry.distro.otlp_udp_exporter import OTLPUdpSpanExporter from amazon.opentelemetry.distro.sampler.aws_xray_remote_sampler import AwsXRayRemoteSampler from amazon.opentelemetry.distro.scope_based_exporter import ScopeBasedPeriodicExportingMetricReader @@ -46,7 +49,7 @@ ) from opentelemetry.sdk._events import EventLoggerProvider from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler -from opentelemetry.sdk._logs.export import BatchLogRecordProcessor, LogExporter +from opentelemetry.sdk._logs.export import BatchLogRecordProcessor, ConsoleLogExporter, LogExporter from opentelemetry.sdk.environment_variables import ( _OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED, OTEL_EXPORTER_OTLP_METRICS_PROTOCOL, @@ -209,6 +212,9 @@ def _init_logging( set_logger_provider(provider) for _, exporter_class in exporters.items(): + if exporter_class is ConsoleLogExporter and _is_lambda_environment(): + exporter_class = CompressedConsoleLogExporter + _logger.debug("Lambda environment detected, using CompressedConsoleLogExporter") exporter_args = {} _customize_log_record_processor( logger_provider=provider, log_exporter=_customize_logs_exporter(exporter_class(**exporter_args)) diff --git a/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/exporter/console/logs/compressed_console_log_exporter.py b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/exporter/console/logs/compressed_console_log_exporter.py new file mode 100644 index 000000000..7b7763701 --- /dev/null +++ b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/exporter/console/logs/compressed_console_log_exporter.py @@ -0,0 +1,16 @@ +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 +import re +from typing import Sequence + +from opentelemetry.sdk._logs import LogData +from opentelemetry.sdk._logs.export import ConsoleLogExporter, LogExportResult + + +class CompressedConsoleLogExporter(ConsoleLogExporter): + def export(self, batch: Sequence[LogData]): + for data in batch: + formatted_json = self.formatter(data.log_record) + print(re.sub(r"\s*([{}[\]:,])\s*", r"\1", formatted_json), flush=True) + + return LogExportResult.SUCCESS diff --git a/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/exporter/console/logs/test_compressed_console_log_exporter.py b/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/exporter/console/logs/test_compressed_console_log_exporter.py new file mode 100644 index 000000000..f6ea80cb8 --- /dev/null +++ b/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/exporter/console/logs/test_compressed_console_log_exporter.py @@ -0,0 +1,72 @@ +# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +# SPDX-License-Identifier: Apache-2.0 +import unittest +from unittest.mock import Mock, patch + +from amazon.opentelemetry.distro.exporter.console.logs.compressed_console_log_exporter import ( + CompressedConsoleLogExporter, +) +from opentelemetry.sdk._logs.export import LogExportResult + + +class TestCompressedConsoleLogExporter(unittest.TestCase): + + def setUp(self): + self.exporter = CompressedConsoleLogExporter() + + @patch("builtins.print") + def test_export_compresses_json(self, mock_print): + # Mock log data + mock_log_data = Mock() + mock_log_record = Mock() + mock_log_data.log_record = mock_log_record + + # Mock formatted JSON with whitespace + formatted_json = '{\n "body": "test message",\n "severity_number": 9,\n "attributes": {\n "key": "value"\n }\n}' # noqa: E501 + self.exporter.formatter = Mock(return_value=formatted_json) + + # Call export + result = self.exporter.export([mock_log_data]) + + # Verify result + self.assertEqual(result, LogExportResult.SUCCESS) + + # Verify print calls + self.assertEqual(mock_print.call_count, 1) + mock_print.assert_called_with( + '{"body":"test message","severity_number":9,"attributes":{"key":"value"}}', flush=True + ) + + @patch("builtins.print") + def test_export_multiple_records(self, mock_print): + # Mock multiple log data + mock_log_data1 = Mock() + mock_log_data2 = Mock() + mock_log_data1.log_record = Mock() + mock_log_data2.log_record = Mock() + + formatted_json = '{\n "body": "test"\n}' + self.exporter.formatter = Mock(return_value=formatted_json) + + # Call export + result = self.exporter.export([mock_log_data1, mock_log_data2]) + + # Verify result + self.assertEqual(result, LogExportResult.SUCCESS) + + # Verify print calls + self.assertEqual(mock_print.call_count, 2) # 2 records + # Each record should print compressed JSON + expected_calls = [unittest.mock.call('{"body":"test"}', flush=True)] * 2 + mock_print.assert_has_calls(expected_calls) + + @patch("builtins.print") + def test_export_empty_batch(self, mock_print): + # Call export with empty batch + result = self.exporter.export([]) + + # Verify result + self.assertEqual(result, LogExportResult.SUCCESS) + + # Verify print calls + mock_print.assert_not_called() # No records, no prints diff --git a/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_aws_opentelementry_configurator.py b/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_aws_opentelementry_configurator.py index 9e4afc81e..503500627 100644 --- a/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_aws_opentelementry_configurator.py +++ b/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_aws_opentelementry_configurator.py @@ -47,6 +47,9 @@ from amazon.opentelemetry.distro.aws_opentelemetry_distro import AwsOpenTelemetryDistro from amazon.opentelemetry.distro.aws_span_metrics_processor import AwsSpanMetricsProcessor from amazon.opentelemetry.distro.exporter.aws.metrics.aws_cloudwatch_emf_exporter import AwsCloudWatchEmfExporter +from amazon.opentelemetry.distro.exporter.console.logs.compressed_console_log_exporter import ( + CompressedConsoleLogExporter, +) from amazon.opentelemetry.distro.exporter.otlp.aws.common.aws_auth_session import AwsAuthSession # pylint: disable=line-too-long @@ -70,7 +73,7 @@ from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter from opentelemetry.metrics import get_meter_provider from opentelemetry.processor.baggage import BaggageSpanProcessor -from opentelemetry.sdk._logs.export import BatchLogRecordProcessor +from opentelemetry.sdk._logs.export import BatchLogRecordProcessor, ConsoleLogExporter from opentelemetry.sdk.environment_variables import OTEL_TRACES_SAMPLER, OTEL_TRACES_SAMPLER_ARG from opentelemetry.sdk.metrics._internal.export import PeriodicExportingMetricReader from opentelemetry.sdk.resources import Resource @@ -676,6 +679,58 @@ def capture_exporter(*args, **kwargs): os.environ.pop(OTEL_EXPORTER_OTLP_LOGS_ENDPOINT) + @patch("amazon.opentelemetry.distro.aws_opentelemetry_configurator.LoggingHandler", return_value=MagicMock()) + @patch("logging.getLogger", return_value=MagicMock()) + @patch("amazon.opentelemetry.distro.aws_opentelemetry_configurator._customize_logs_exporter") + @patch("amazon.opentelemetry.distro.aws_opentelemetry_configurator.LoggerProvider", return_value=MagicMock()) + @patch("amazon.opentelemetry.distro.aws_opentelemetry_configurator._customize_log_record_processor") + def test_init_logging_console_exporter_replacement( + self, + mock_customize_processor, + mock_logger_provider, + mock_customize_logs_exporter, + mock_get_logger, + mock_logging_handler, + ): + """Test that ConsoleLogExporter is replaced with CompressedConsoleLogExporter when in Lambda""" + + # Mock _is_lambda_environment to return True + with patch( + "amazon.opentelemetry.distro.aws_opentelemetry_configurator._is_lambda_environment", return_value=True + ): + # Test with ConsoleLogExporter + exporters = {"console": ConsoleLogExporter} + _init_logging(exporters, Resource.get_empty()) + + # Verify that _customize_log_record_processor was called + mock_customize_processor.assert_called_once() + + # Get the exporter that was passed to _customize_logs_exporter + call_args = mock_customize_logs_exporter.call_args + exporter_instance = call_args[0][0] + + # Verify it's a CompressedConsoleLogExporter instance + self.assertIsInstance(exporter_instance, CompressedConsoleLogExporter) + + # Reset mocks + mock_customize_processor.reset_mock() + mock_customize_logs_exporter.reset_mock() + + # Test when not in Lambda environment - should not replace + with patch( + "amazon.opentelemetry.distro.aws_opentelemetry_configurator._is_lambda_environment", return_value=False + ): + exporters = {"console": ConsoleLogExporter} + _init_logging(exporters, Resource.get_empty()) + + # Get the exporter that was passed to _customize_logs_exporter + call_args = mock_customize_logs_exporter.call_args + exporter_instance = call_args[0][0] + + # Verify it's still a regular ConsoleLogExporter + self.assertIsInstance(exporter_instance, ConsoleLogExporter) + self.assertNotIsInstance(exporter_instance, CompressedConsoleLogExporter) + def test_customize_span_processors(self): mock_tracer_provider: TracerProvider = MagicMock() os.environ.pop("AGENT_OBSERVABILITY_ENABLED", None) From 0c008b01533d78dd752295dffb10ee3c15ba0deb Mon Sep 17 00:00:00 2001 From: Jonathan Lee Date: Wed, 30 Jul 2025 12:05:20 -0700 Subject: [PATCH 2/5] update comment --- .../opentelemetry/distro/aws_opentelemetry_configurator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py index 22e03a11b..2c591ac34 100644 --- a/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py +++ b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py @@ -214,7 +214,7 @@ def _init_logging( for _, exporter_class in exporters.items(): if exporter_class is ConsoleLogExporter and _is_lambda_environment(): exporter_class = CompressedConsoleLogExporter - _logger.debug("Lambda environment detected, using CompressedConsoleLogExporter") + _logger.debug("Lambda environment detected, using CompressedConsoleLogExporter instead of ConsoleLogExporter") exporter_args = {} _customize_log_record_processor( logger_provider=provider, log_exporter=_customize_logs_exporter(exporter_class(**exporter_args)) From 821ad5081a149ec194e581831f869e8a739384b3 Mon Sep 17 00:00:00 2001 From: Jonathan Lee Date: Wed, 30 Jul 2025 12:13:14 -0700 Subject: [PATCH 3/5] lint --- .../opentelemetry/distro/aws_opentelemetry_configurator.py | 4 +++- .../distro/test_aws_opentelementry_configurator.py | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py index f99a7e78a..002cff1b4 100644 --- a/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py +++ b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py @@ -221,7 +221,9 @@ def _init_logging( for _, exporter_class in exporters.items(): if exporter_class is ConsoleLogExporter and _is_lambda_environment(): exporter_class = CompressedConsoleLogExporter - _logger.debug("Lambda environment detected, using CompressedConsoleLogExporter instead of ConsoleLogExporter") + _logger.debug( + "Lambda environment detected, using CompressedConsoleLogExporter instead of ConsoleLogExporter" + ) exporter_args = {} _customize_log_record_processor( logger_provider=provider, log_exporter=_customize_logs_exporter(exporter_class(**exporter_args)) diff --git a/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_aws_opentelementry_configurator.py b/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_aws_opentelementry_configurator.py index dcd96a134..3b4dfc881 100644 --- a/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_aws_opentelementry_configurator.py +++ b/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_aws_opentelementry_configurator.py @@ -47,7 +47,6 @@ ) from amazon.opentelemetry.distro.aws_opentelemetry_distro import AwsOpenTelemetryDistro from amazon.opentelemetry.distro.aws_span_metrics_processor import AwsSpanMetricsProcessor -from amazon.opentelemetry.distro.exporter.aws.metrics.aws_cloudwatch_emf_exporter import AwsCloudWatchEmfExporter from amazon.opentelemetry.distro.exporter.console.logs.compressed_console_log_exporter import ( CompressedConsoleLogExporter, ) From c0190b288c4eb7fecef6dc49943aeee8ebcc6b88 Mon Sep 17 00:00:00 2001 From: Jonathan Lee Date: Wed, 30 Jul 2025 13:36:02 -0700 Subject: [PATCH 4/5] update compressed -> compact --- .../distro/aws_opentelemetry_configurator.py | 8 ++++---- ...g_exporter.py => compact_console_log_exporter.py} | 2 +- ...orter.py => test_compact_console_log_exporter.py} | 10 +++++----- .../distro/test_aws_opentelementry_configurator.py | 12 ++++++------ 4 files changed, 16 insertions(+), 16 deletions(-) rename aws-opentelemetry-distro/src/amazon/opentelemetry/distro/exporter/console/logs/{compressed_console_log_exporter.py => compact_console_log_exporter.py} (90%) rename aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/exporter/console/logs/{test_compressed_console_log_exporter.py => test_compact_console_log_exporter.py} (88%) diff --git a/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py index 002cff1b4..36eabfb2e 100644 --- a/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py +++ b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py @@ -23,8 +23,8 @@ AwsMetricAttributesSpanExporterBuilder, ) from amazon.opentelemetry.distro.aws_span_metrics_processor_builder import AwsSpanMetricsProcessorBuilder -from amazon.opentelemetry.distro.exporter.console.logs.compressed_console_log_exporter import ( - CompressedConsoleLogExporter, +from amazon.opentelemetry.distro.exporter.console.logs.compact_console_log_exporter import ( + CompactConsoleLogExporter, ) from amazon.opentelemetry.distro.otlp_udp_exporter import OTLPUdpSpanExporter from amazon.opentelemetry.distro.sampler.aws_xray_remote_sampler import AwsXRayRemoteSampler @@ -220,9 +220,9 @@ def _init_logging( for _, exporter_class in exporters.items(): if exporter_class is ConsoleLogExporter and _is_lambda_environment(): - exporter_class = CompressedConsoleLogExporter + exporter_class = CompactConsoleLogExporter _logger.debug( - "Lambda environment detected, using CompressedConsoleLogExporter instead of ConsoleLogExporter" + "Lambda environment detected, using CompactConsoleLogExporter instead of ConsoleLogExporter" ) exporter_args = {} _customize_log_record_processor( diff --git a/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/exporter/console/logs/compressed_console_log_exporter.py b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/exporter/console/logs/compact_console_log_exporter.py similarity index 90% rename from aws-opentelemetry-distro/src/amazon/opentelemetry/distro/exporter/console/logs/compressed_console_log_exporter.py rename to aws-opentelemetry-distro/src/amazon/opentelemetry/distro/exporter/console/logs/compact_console_log_exporter.py index 7b7763701..18b7e26de 100644 --- a/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/exporter/console/logs/compressed_console_log_exporter.py +++ b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/exporter/console/logs/compact_console_log_exporter.py @@ -7,7 +7,7 @@ from opentelemetry.sdk._logs.export import ConsoleLogExporter, LogExportResult -class CompressedConsoleLogExporter(ConsoleLogExporter): +class CompactConsoleLogExporter(ConsoleLogExporter): def export(self, batch: Sequence[LogData]): for data in batch: formatted_json = self.formatter(data.log_record) diff --git a/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/exporter/console/logs/test_compressed_console_log_exporter.py b/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/exporter/console/logs/test_compact_console_log_exporter.py similarity index 88% rename from aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/exporter/console/logs/test_compressed_console_log_exporter.py rename to aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/exporter/console/logs/test_compact_console_log_exporter.py index f6ea80cb8..8d0dd4aec 100644 --- a/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/exporter/console/logs/test_compressed_console_log_exporter.py +++ b/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/exporter/console/logs/test_compact_console_log_exporter.py @@ -3,16 +3,16 @@ import unittest from unittest.mock import Mock, patch -from amazon.opentelemetry.distro.exporter.console.logs.compressed_console_log_exporter import ( - CompressedConsoleLogExporter, +from amazon.opentelemetry.distro.exporter.console.logs.compact_console_log_exporter import ( + CompactConsoleLogExporter, ) from opentelemetry.sdk._logs.export import LogExportResult -class TestCompressedConsoleLogExporter(unittest.TestCase): +class TestCompactConsoleLogExporter(unittest.TestCase): def setUp(self): - self.exporter = CompressedConsoleLogExporter() + self.exporter = CompactConsoleLogExporter() @patch("builtins.print") def test_export_compresses_json(self, mock_print): @@ -56,7 +56,7 @@ def test_export_multiple_records(self, mock_print): # Verify print calls self.assertEqual(mock_print.call_count, 2) # 2 records - # Each record should print compressed JSON + # Each record should print compact JSON expected_calls = [unittest.mock.call('{"body":"test"}', flush=True)] * 2 mock_print.assert_has_calls(expected_calls) diff --git a/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_aws_opentelementry_configurator.py b/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_aws_opentelementry_configurator.py index 3b4dfc881..83eaf5f0a 100644 --- a/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_aws_opentelementry_configurator.py +++ b/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_aws_opentelementry_configurator.py @@ -47,8 +47,8 @@ ) from amazon.opentelemetry.distro.aws_opentelemetry_distro import AwsOpenTelemetryDistro from amazon.opentelemetry.distro.aws_span_metrics_processor import AwsSpanMetricsProcessor -from amazon.opentelemetry.distro.exporter.console.logs.compressed_console_log_exporter import ( - CompressedConsoleLogExporter, +from amazon.opentelemetry.distro.exporter.console.logs.compact_console_log_exporter import ( + CompactConsoleLogExporter, ) from amazon.opentelemetry.distro.exporter.otlp.aws.common.aws_auth_session import AwsAuthSession @@ -696,7 +696,7 @@ def test_init_logging_console_exporter_replacement( mock_get_logger, mock_logging_handler, ): - """Test that ConsoleLogExporter is replaced with CompressedConsoleLogExporter when in Lambda""" + """Test that ConsoleLogExporter is replaced with CompactConsoleLogExporter when in Lambda""" # Mock _is_lambda_environment to return True with patch( @@ -713,8 +713,8 @@ def test_init_logging_console_exporter_replacement( call_args = mock_customize_logs_exporter.call_args exporter_instance = call_args[0][0] - # Verify it's a CompressedConsoleLogExporter instance - self.assertIsInstance(exporter_instance, CompressedConsoleLogExporter) + # Verify it's a CompactConsoleLogExporter instance + self.assertIsInstance(exporter_instance, CompactConsoleLogExporter) # Reset mocks mock_customize_processor.reset_mock() @@ -733,7 +733,7 @@ def test_init_logging_console_exporter_replacement( # Verify it's still a regular ConsoleLogExporter self.assertIsInstance(exporter_instance, ConsoleLogExporter) - self.assertNotIsInstance(exporter_instance, CompressedConsoleLogExporter) + self.assertNotIsInstance(exporter_instance, CompactConsoleLogExporter) def test_customize_span_processors(self): mock_tracer_provider: TracerProvider = MagicMock() From d10b6a67feb2e4ae3f6a9b9541c04b43b885b7dc Mon Sep 17 00:00:00 2001 From: Jonathan Lee Date: Wed, 30 Jul 2025 13:54:10 -0700 Subject: [PATCH 5/5] lint --- .../distro/aws_opentelemetry_configurator.py | 8 ++------ .../console/logs/test_compact_console_log_exporter.py | 4 +--- .../distro/test_aws_opentelementry_configurator.py | 4 +--- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py index 36eabfb2e..3f16e5dca 100644 --- a/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py +++ b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py @@ -23,9 +23,7 @@ AwsMetricAttributesSpanExporterBuilder, ) from amazon.opentelemetry.distro.aws_span_metrics_processor_builder import AwsSpanMetricsProcessorBuilder -from amazon.opentelemetry.distro.exporter.console.logs.compact_console_log_exporter import ( - CompactConsoleLogExporter, -) +from amazon.opentelemetry.distro.exporter.console.logs.compact_console_log_exporter import CompactConsoleLogExporter from amazon.opentelemetry.distro.otlp_udp_exporter import OTLPUdpSpanExporter from amazon.opentelemetry.distro.sampler.aws_xray_remote_sampler import AwsXRayRemoteSampler from amazon.opentelemetry.distro.scope_based_exporter import ScopeBasedPeriodicExportingMetricReader @@ -221,9 +219,7 @@ def _init_logging( for _, exporter_class in exporters.items(): if exporter_class is ConsoleLogExporter and _is_lambda_environment(): exporter_class = CompactConsoleLogExporter - _logger.debug( - "Lambda environment detected, using CompactConsoleLogExporter instead of ConsoleLogExporter" - ) + _logger.debug("Lambda environment detected, using CompactConsoleLogExporter instead of ConsoleLogExporter") exporter_args = {} _customize_log_record_processor( logger_provider=provider, log_exporter=_customize_logs_exporter(exporter_class(**exporter_args)) diff --git a/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/exporter/console/logs/test_compact_console_log_exporter.py b/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/exporter/console/logs/test_compact_console_log_exporter.py index 8d0dd4aec..5000102e8 100644 --- a/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/exporter/console/logs/test_compact_console_log_exporter.py +++ b/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/exporter/console/logs/test_compact_console_log_exporter.py @@ -3,9 +3,7 @@ import unittest from unittest.mock import Mock, patch -from amazon.opentelemetry.distro.exporter.console.logs.compact_console_log_exporter import ( - CompactConsoleLogExporter, -) +from amazon.opentelemetry.distro.exporter.console.logs.compact_console_log_exporter import CompactConsoleLogExporter from opentelemetry.sdk._logs.export import LogExportResult diff --git a/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_aws_opentelementry_configurator.py b/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_aws_opentelementry_configurator.py index 83eaf5f0a..efcc5a317 100644 --- a/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_aws_opentelementry_configurator.py +++ b/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_aws_opentelementry_configurator.py @@ -47,9 +47,7 @@ ) from amazon.opentelemetry.distro.aws_opentelemetry_distro import AwsOpenTelemetryDistro from amazon.opentelemetry.distro.aws_span_metrics_processor import AwsSpanMetricsProcessor -from amazon.opentelemetry.distro.exporter.console.logs.compact_console_log_exporter import ( - CompactConsoleLogExporter, -) +from amazon.opentelemetry.distro.exporter.console.logs.compact_console_log_exporter import CompactConsoleLogExporter from amazon.opentelemetry.distro.exporter.otlp.aws.common.aws_auth_session import AwsAuthSession # pylint: disable=line-too-long