Skip to content

Commit d7f58f0

Browse files
committed
Update after merge
1 parent b232ac8 commit d7f58f0

File tree

4 files changed

+44
-69
lines changed

4 files changed

+44
-69
lines changed

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ def _encode_log(readable_log_record: ReadableLogRecord) -> PB2LogRecord:
6666
severity_number=getattr(
6767
readable_log_record.log_record.severity_number, "value", None
6868
),
69-
severity_number=readable_log_record.log_record.severity_number.value,
7069
event_name=readable_log_record.log_record.event_name,
7170
)
7271

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

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ def to_json(self, indent: int | None = 4) -> str:
247247
else None
248248
),
249249
"dropped_attributes": self.dropped_attributes,
250-
"timestamp": ns_to_iso_str(self.log_record.timestamp),
250+
"timestamp": ns_to_iso_str(self.log_record.timestamp)
251251
if self.log_record.timestamp is not None
252252
else None,
253253
"observed_timestamp": ns_to_iso_str(
@@ -265,7 +265,9 @@ def to_json(self, indent: int | None = 4) -> str:
265265
),
266266
"trace_flags": self.log_record.trace_flags,
267267
"resource": json.loads(self.resource.to_json()),
268-
"event_name": self.log_record.event_name or "",
268+
"event_name": self.log_record.event_name
269+
if self.log_record.event_name
270+
else "",
269271
},
270272
indent=indent,
271273
cls=BytesEncoder,
@@ -279,21 +281,16 @@ def dropped_attributes(self) -> int:
279281

280282
@classmethod
281283
def _from_api_log_record(
282-
cls, *, record: APILogRecord, resource: Resource
283-
) -> LogRecord:
284+
cls,
285+
*,
286+
record: LogRecord,
287+
resource: Resource,
288+
instrumentation_scope: InstrumentationScope | None = None,
289+
) -> ReadWriteLogRecord:
284290
return cls(
285-
timestamp=record.timestamp,
286-
observed_timestamp=record.observed_timestamp,
287-
context=record.context,
288-
trace_id=record.trace_id,
289-
span_id=record.span_id,
290-
trace_flags=record.trace_flags,
291-
severity_text=record.severity_text,
292-
severity_number=record.severity_number,
293-
body=record.body,
294-
attributes=record.attributes,
295-
event_name=record.event_name,
291+
log_record=record,
296292
resource=resource,
293+
instrumentation_scope=instrumentation_scope,
297294
)
298295

299296

@@ -631,16 +628,12 @@ def emit(self, record: LogRecord):
631628
"""
632629
if not isinstance(record, ReadWriteLogRecord):
633630
# pylint:disable=protected-access
634-
record = LogRecord._from_api_log_record(
635-
record=record, resource=self._resource
636-
)
637-
638-
log_record = ReadWriteLogRecord(
639-
log_record=record,
640-
resource=self._resource,
641-
instrumentation_scope=self._instrumentation_scope,
642-
)
643-
self._multi_log_record_processor.on_emit(log_record)
631+
record = ReadWriteLogRecord._from_api_log_record(
632+
record=record,
633+
resource=self._resource,
634+
instrumentation_scope=self._instrumentation_scope,
635+
)
636+
self._multi_log_record_processor.on_emit(record)
644637

645638

646639
class LoggerProvider(APILoggerProvider):

opentelemetry-sdk/tests/logs/test_log_record.py

Lines changed: 22 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,14 @@
1818

1919
from opentelemetry._logs import LogRecord, SeverityNumber
2020
from opentelemetry.attributes import BoundedAttributes
21+
from opentelemetry.context import get_current
2122
from opentelemetry.sdk._logs import (
2223
LogDroppedAttributesWarning,
2324
LogLimits,
2425
ReadWriteLogRecord,
2526
)
2627
from opentelemetry.sdk.resources import Resource
28+
from opentelemetry.trace.span import TraceFlags
2729

2830

2931
class TestLogRecord(unittest.TestCase):
@@ -64,9 +66,11 @@ def test_log_record_to_json_serializes_severity_number_as_int(self):
6466
self.assertEqual(SeverityNumber.WARN.value, decoded["severity_number"])
6567

6668
def test_log_record_to_json_serializes_null_severity_number(self):
67-
actual = LogRecord(
68-
observed_timestamp=0,
69-
body="a log line",
69+
actual = ReadWriteLogRecord(
70+
LogRecord(
71+
observed_timestamp=0,
72+
body="a log line",
73+
),
7074
resource=Resource({"service.name": "foo"}),
7175
)
7276

@@ -183,34 +187,9 @@ def test_log_record_dropped_attributes_unset_limits(self):
183187
self.assertTrue(result.dropped_attributes == 0)
184188
self.assertEqual(attr, result.log_record.attributes)
185189

186-
def test_log_record_deprecated_init_warning(self):
187-
test_cases = [
188-
{"trace_id": 123},
189-
{"span_id": 123},
190-
{"trace_flags": TraceFlags(0x01)},
191-
]
192-
193-
for params in test_cases:
194-
with self.subTest(params=params):
195-
with warnings.catch_warnings(record=True) as cw:
196-
for _ in range(10):
197-
LogRecord(**params)
198-
199-
self.assertEqual(len(cw), 1)
200-
self.assertIsInstance(cw[-1].message, LogDeprecatedInitWarning)
201-
self.assertIn(
202-
"LogRecord init with `trace_id`, `span_id`, and/or `trace_flags` is deprecated since 1.35.0. Use `context` instead.",
203-
str(cw[-1].message),
204-
)
205-
206-
with warnings.catch_warnings(record=True) as cw:
207-
for _ in range(10):
208-
LogRecord(context=get_current())
209-
self.assertEqual(len(cw), 0)
210-
211190
# pylint:disable=protected-access
212191
def test_log_record_from_api_log_record(self):
213-
api_log_record = APILogRecord(
192+
api_log_record = LogRecord(
214193
timestamp=1,
215194
observed_timestamp=2,
216195
context=get_current(),
@@ -225,19 +204,21 @@ def test_log_record_from_api_log_record(self):
225204
)
226205

227206
resource = Resource.create({})
228-
record = LogRecord._from_api_log_record(
207+
record = ReadWriteLogRecord._from_api_log_record(
229208
record=api_log_record, resource=resource
230209
)
231210

232-
self.assertEqual(record.timestamp, 1)
233-
self.assertEqual(record.observed_timestamp, 2)
234-
self.assertEqual(record.context, get_current())
235-
self.assertEqual(record.trace_id, 123)
236-
self.assertEqual(record.span_id, 456)
237-
self.assertEqual(record.trace_flags, TraceFlags(0x01))
238-
self.assertEqual(record.severity_text, "WARN")
239-
self.assertEqual(record.severity_number, SeverityNumber.WARN)
240-
self.assertEqual(record.body, "a log line")
241-
self.assertEqual(record.attributes, {"a": "b"})
242-
self.assertEqual(record.event_name, "an.event")
211+
self.assertEqual(record.log_record.timestamp, 1)
212+
self.assertEqual(record.log_record.observed_timestamp, 2)
213+
self.assertEqual(record.log_record.context, get_current())
214+
self.assertEqual(record.log_record.trace_id, 123)
215+
self.assertEqual(record.log_record.span_id, 456)
216+
self.assertEqual(record.log_record.trace_flags, TraceFlags(0x01))
217+
self.assertEqual(record.log_record.severity_text, "WARN")
218+
self.assertEqual(
219+
record.log_record.severity_number, SeverityNumber.WARN
220+
)
221+
self.assertEqual(record.log_record.body, "a log line")
222+
self.assertEqual(record.log_record.attributes, {"a": "b"})
223+
self.assertEqual(record.log_record.event_name, "an.event")
243224
self.assertEqual(record.resource, resource)

opentelemetry-sdk/tests/logs/test_logs.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from unittest.mock import Mock, patch
1919

2020
from opentelemetry._logs import LogRecord, SeverityNumber
21-
from opentelemetry.sdk._logs import LoggerProvider, ReadableLogRecord
21+
from opentelemetry.sdk._logs import Logger, LoggerProvider, ReadableLogRecord
2222
from opentelemetry.sdk._logs._internal import (
2323
NoOpLogger,
2424
SynchronousMultiLogRecordProcessor,
@@ -88,6 +88,7 @@ def test_logger_provider_init(self, resource_patch):
8888
)
8989
self.assertIsNotNone(logger_provider._at_exit_handler)
9090

91+
9192
class TestReadableLogRecord(unittest.TestCase):
9293
def setUp(self):
9394
self.log_record = LogRecord(
@@ -128,6 +129,7 @@ def test_readable_log_record_can_read_attributes(self):
128129
"test-service",
129130
)
130131

132+
131133
class TestLogger(unittest.TestCase):
132134
@staticmethod
133135
def _get_logger():
@@ -158,7 +160,7 @@ def test_can_emit_logrecord(self):
158160

159161
def test_can_emit_api_logrecord(self):
160162
logger, log_record_processor_mock = self._get_logger()
161-
api_log_record = APILogRecord(
163+
api_log_record = LogRecord(
162164
observed_timestamp=0,
163165
body="a log line",
164166
)

0 commit comments

Comments
 (0)