Skip to content

Commit 6d31398

Browse files
committed
Add event_name field to LogRecord and the LogRecord -> proto LogRecord conversion
1 parent 2039204 commit 6d31398

File tree

4 files changed

+12
-1
lines changed
  • exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/_log_encoder
  • opentelemetry-api/src/opentelemetry/_logs/_internal
  • opentelemetry-sdk

4 files changed

+12
-1
lines changed

exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/_log_encoder/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ def _encode_log(log_data: LogData) -> PB2LogRecord:
6262
),
6363
dropped_attributes_count=log_data.log_record.dropped_attributes,
6464
severity_number=log_data.log_record.severity_number.value,
65+
event_name=log_data.log_record.event_name,
6566
)
6667

6768

opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ def __init__(
6969
severity_number: Optional[SeverityNumber] = None,
7070
body: AnyValue = None,
7171
attributes: Optional[_ExtendedAttributes] = None,
72+
event_name: Optional[str] = None,
7273
) -> None: ...
7374

7475
@overload
@@ -84,6 +85,7 @@ def __init__(
8485
severity_number: Optional[SeverityNumber] = None,
8586
body: AnyValue = None,
8687
attributes: Optional[_ExtendedAttributes] = None,
88+
event_name: Optional[str] = None,
8789
) -> None: ...
8890

8991
def __init__(
@@ -99,6 +101,7 @@ def __init__(
99101
severity_number: Optional[SeverityNumber] = None,
100102
body: AnyValue = None,
101103
attributes: Optional[_ExtendedAttributes] = None,
104+
event_name: Optional[str] = None,
102105
) -> None:
103106
self.timestamp = timestamp
104107
if observed_timestamp is None:
@@ -112,6 +115,7 @@ def __init__(
112115
self.severity_number = severity_number
113116
self.body = body
114117
self.attributes = attributes
118+
self.event_name = event_name
115119

116120

117121
class Logger(ABC):

opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ def __init__(
206206
resource: Resource | None = None,
207207
attributes: _ExtendedAttributes | None = None,
208208
limits: LogLimits | None = _UnsetLogLimits,
209+
event_name: str | None = None,
209210
): ...
210211

211212
@overload
@@ -222,6 +223,7 @@ def __init__(
222223
resource: Resource | None = None,
223224
attributes: _ExtendedAttributes | None = None,
224225
limits: LogLimits | None = _UnsetLogLimits,
226+
event_name: str | None = None,
225227
): ...
226228

227229
def __init__(
@@ -238,6 +240,7 @@ def __init__(
238240
resource: Resource | None = None,
239241
attributes: _ExtendedAttributes | None = None,
240242
limits: LogLimits | None = _UnsetLogLimits,
243+
event_name: str | None = None,
241244
):
242245
if trace_id or span_id or trace_flags:
243246
warnings.warn(
@@ -275,6 +278,7 @@ def __init__(
275278
max_value_len=limits.max_attribute_length,
276279
extended_attributes=True,
277280
),
281+
"event_name": event_name,
278282
}
279283
)
280284
self.resource = (
@@ -318,6 +322,7 @@ def to_json(self, indent: int | None = 4) -> str:
318322
),
319323
"trace_flags": self.trace_flags,
320324
"resource": json.loads(self.resource.to_json()),
325+
"event_name": self.event_name if self.event_name else "",
321326
},
322327
indent=indent,
323328
cls=BytesEncoder,

opentelemetry-sdk/tests/logs/test_log_record.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,12 @@ def test_log_record_to_json(self):
4242
"sequence": [1, 2],
4343
"str": "string",
4444
},
45+
event_name="a.event",
4546
)
4647

4748
self.assertEqual(
4849
log_record.to_json(indent=None),
49-
'{"body": {"key": "logLine", "bytes": "MTIz"}, "severity_number": null, "severity_text": null, "attributes": {"mapping": {"key": "value"}, "none": null, "sequence": [1, 2], "str": "string"}, "dropped_attributes": 0, "timestamp": "1970-01-01T00:00:00.000000Z", "observed_timestamp": "1970-01-01T00:00:00.000000Z", "trace_id": "", "span_id": "", "trace_flags": null, "resource": {"attributes": {"service.name": "foo"}, "schema_url": ""}}',
50+
'{"body": {"key": "logLine", "bytes": "MTIz"}, "severity_number": null, "severity_text": null, "attributes": {"mapping": {"key": "value"}, "none": null, "sequence": [1, 2], "str": "string"}, "dropped_attributes": 0, "timestamp": "1970-01-01T00:00:00.000000Z", "observed_timestamp": "1970-01-01T00:00:00.000000Z", "trace_id": "", "span_id": "", "trace_flags": null, "resource": {"attributes": {"service.name": "foo"}, "schema_url": ""}, "event_name": "a.event"}',
5051
)
5152

5253
def test_log_record_to_json_serializes_severity_number_as_int(self):

0 commit comments

Comments
 (0)