Fix API LogRecord serialization by xrmx · Pull Request #4741 · open-telemetry/opentelemetry-python

@xrmx xrmx mentioned this pull request

Sep 9, 2025

xrmx

@xrmx xrmx mentioned this pull request

Sep 9, 2025

13 tasks

tammy-baylis-swi

DylanRussell

DylanRussell

emdneto

@xrmx

@xrmx

…r.emit

So that the layers below would not care about any difference.

Fixes:

Exception while exporting Log.
Traceback (most recent call last):
  File "/home/rm/src/opentelemetry-python/opentelemetry-sdk/src/opentelemetry/sdk/_shared_internal/__init__.py", line 179, in _export
    self._exporter.export(
  File "/home/rm/src/opentelemetry-python/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py", line 98, in export
    self.out.write(self.formatter(data.log_record))
  File "/home/rm/src/opentelemetry-python/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py", line 90, in <lambda>
    formatter: Callable[[LogRecord], str] = lambda record: record.to_json()
AttributeError: 'LogRecord' object has no attribute 'to_json'

@xrmx

@xrmx

@xrmx

@xrmx

@xrmx

@xrmx

DylanRussell

@xrmx xrmx enabled auto-merge (squash)

September 10, 2025 15:59

JWinermaSplunk pushed a commit to JWinermaSplunk/opentelemetry-python that referenced this pull request

Feb 17, 2026
* opentelemetry-sdk: handle none timestamp in LogRecord serialization

* opentelemetry-exporter-otlp-proto-common: fix exporting of empty log severity number

* opentelemetry-sdk: convert an API LogRecord into a LogRecord in Logger.emit

So that the layers below would not care about any difference.

Fixes:

Exception while exporting Log.
Traceback (most recent call last):
  File "/home/rm/src/opentelemetry-python/opentelemetry-sdk/src/opentelemetry/sdk/_shared_internal/__init__.py", line 179, in _export
    self._exporter.export(
  File "/home/rm/src/opentelemetry-python/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py", line 98, in export
    self.out.write(self.formatter(data.log_record))
  File "/home/rm/src/opentelemetry-python/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py", line 90, in <lambda>
    formatter: Callable[[LogRecord], str] = lambda record: record.to_json()
AttributeError: 'LogRecord' object has no attribute 'to_json'

* Add changelog

* Fix forwarding of span and trace ids

* Feedback

* More feedback

* Add the logger resource to the log record

* Please pylint

JWinermaSplunk pushed a commit to JWinermaSplunk/opentelemetry-python that referenced this pull request

Feb 17, 2026
* opentelemetry-sdk: handle none timestamp in LogRecord serialization

* opentelemetry-exporter-otlp-proto-common: fix exporting of empty log severity number

* opentelemetry-sdk: convert an API LogRecord into a LogRecord in Logger.emit

So that the layers below would not care about any difference.

Fixes:

Exception while exporting Log.
Traceback (most recent call last):
  File "/home/rm/src/opentelemetry-python/opentelemetry-sdk/src/opentelemetry/sdk/_shared_internal/__init__.py", line 179, in _export
    self._exporter.export(
  File "/home/rm/src/opentelemetry-python/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py", line 98, in export
    self.out.write(self.formatter(data.log_record))
  File "/home/rm/src/opentelemetry-python/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py", line 90, in <lambda>
    formatter: Callable[[LogRecord], str] = lambda record: record.to_json()
AttributeError: 'LogRecord' object has no attribute 'to_json'

* Add changelog

* Fix forwarding of span and trace ids

* Feedback

* More feedback

* Add the logger resource to the log record

* Please pylint