From 21a1b875792eb10baa28c24fc5c2509ed2f87e43 Mon Sep 17 00:00:00 2001 From: Matthew Selvam Date: Thu, 1 Oct 2026 12:30:32 +0530 Subject: [PATCH 1/3] Add return type annotations to ConsoleLogRecordExporter methods `ConsoleLogRecordExporter.__init__`, `export`, and `shutdown` were the only methods in the class without return type annotations. In particular, `export` returns a `LogRecordExportResult` but its signature did not declare one, so the override was less precise than the `LogRecordExporter` abstract method it implements. This brings the class in line with its sibling `InMemoryLogRecordExporter`, whose methods are all annotated. Assisted-by: Hermes Agent (stealth/space-bunny-alpha) --- .changelog/5713.fixed | 1 + .../opentelemetry/sdk/_logs/_internal/export/__init__.py | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 .changelog/5713.fixed diff --git a/.changelog/5713.fixed b/.changelog/5713.fixed new file mode 100644 index 00000000000..8387bc54b64 --- /dev/null +++ b/.changelog/5713.fixed @@ -0,0 +1 @@ +`opentelemetry-sdk`: add return type annotations to `ConsoleLogRecordExporter.__init__`, `export`, and `shutdown` \ No newline at end of file diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py index 55921e043db..4731a245679 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py @@ -148,17 +148,17 @@ def __init__( self, out: IO = sys.stdout, formatter: Callable[[ReadableLogRecord], str] = lambda record: record.to_json() + linesep, - ): + ) -> None: self.out = out self.formatter = formatter - def export(self, batch: Sequence[ReadableLogRecord]): + def export(self, batch: Sequence[ReadableLogRecord]) -> LogRecordExportResult: for log_record in batch: self.out.write(self.formatter(log_record)) self.out.flush() return LogRecordExportResult.SUCCESS - def shutdown(self): + def shutdown(self) -> None: pass def force_flush(self, timeout_millis: int = 30000) -> bool: From c9696b545c527d225464783f4f99e5006d2a0852 Mon Sep 17 00:00:00 2001 From: Matthew-Selvam Date: Mon, 5 Oct 2026 20:03:59 +0530 Subject: [PATCH 2/3] Re-run checks after CLA authorization From 73279d5d2225098f4ceca2fbd224e8d751582e8f Mon Sep 17 00:00:00 2001 From: Matthew Selvam <89383765+Matthew-Selvam@users.noreply.github.com> Date: Thu, 8 Oct 2026 14:56:40 +0530 Subject: [PATCH 3/3] fix: rename changelog entry from 5713 to 5718 --- .changelog/5713.fixed | 1 - .changelog/5718.fixed | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 .changelog/5713.fixed create mode 100644 .changelog/5718.fixed diff --git a/.changelog/5713.fixed b/.changelog/5713.fixed deleted file mode 100644 index 8387bc54b64..00000000000 --- a/.changelog/5713.fixed +++ /dev/null @@ -1 +0,0 @@ -`opentelemetry-sdk`: add return type annotations to `ConsoleLogRecordExporter.__init__`, `export`, and `shutdown` \ No newline at end of file diff --git a/.changelog/5718.fixed b/.changelog/5718.fixed new file mode 100644 index 00000000000..e3fe6cca55e --- /dev/null +++ b/.changelog/5718.fixed @@ -0,0 +1 @@ +`opentelemetry-sdkc: add return type annotations to `ConsoleLogRecordExporter.__init__`, `export`, and `shutdown` \ No newline at end of file