Skip to content

Commit 7efba6c

Browse files
committed
Update
1 parent 2b9dec7 commit 7efba6c

File tree

2 files changed

+25
-20
lines changed

2 files changed

+25
-20
lines changed

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

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -257,18 +257,16 @@ def dropped_attributes(self) -> int:
257257
return 0
258258

259259
@classmethod
260-
def from_api_log_record(
261-
cls,
262-
*,
263-
record: LogRecord,
264-
resource: Resource,
265-
instrumentation_scope: InstrumentationScope | None = None,
266-
) -> ReadWriteLogRecord:
267-
return cls(
268-
log_record=record,
269-
resource=resource,
270-
instrumentation_scope=instrumentation_scope,
260+
def _from_api_log_record(
261+
cls, api_log_record: LogRecord, logger: Logger, context: Context
262+
) -> "ReadWriteLogRecord":
263+
# pylint:disable=protected-access
264+
record = ReadWriteLogRecord(
265+
log_record=api_log_record,
266+
resource=logger._resource,
267+
instrumentation_scope=logger._instrumentation_scope,
271268
)
269+
return record
272270

273271

274272
class LogRecordProcessor(abc.ABC):
@@ -621,9 +619,7 @@ def emit(
621619
if not isinstance(record, ReadWriteLogRecord):
622620
# pylint:disable=protected-access
623621
writable_record = ReadWriteLogRecord._from_api_log_record(
624-
record=record,
625-
resource=self._resource,
626-
instrumentation_scope=self._instrumentation_scope,
622+
record, self, context
627623
)
628624
else:
629625
writable_record = record
@@ -639,10 +635,9 @@ def emit(
639635
attributes=attributes,
640636
event_name=event_name,
641637
)
642-
writable_record = ReadWriteLogRecord.from_api_log_record(
643-
record=log_record,
644-
resource=self._resource,
645-
instrumentation_scope=self._instrumentation_scope,
638+
# pylint:disable=protected-access
639+
writable_record = ReadWriteLogRecord._from_api_log_record(
640+
log_record, self, context
646641
)
647642

648643
self._multi_log_record_processor.on_emit(writable_record)

opentelemetry-sdk/tests/logs/test_log_record.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,19 @@
1515
import json
1616
import unittest
1717
import warnings
18+
from unittest.mock import Mock
1819

1920
from opentelemetry._logs import LogRecord, SeverityNumber
2021
from opentelemetry.attributes import BoundedAttributes
2122
from opentelemetry.context import get_current
22-
from opentelemetry.sdk._logs import (
23+
from opentelemetry.sdk._logs._internal import (
2324
LogDroppedAttributesWarning,
2425
LogLimits,
2526
ReadableLogRecord,
2627
ReadWriteLogRecord,
2728
)
2829
from opentelemetry.sdk.resources import Resource
30+
from opentelemetry.sdk.util.instrumentation import InstrumentationScope
2931
from opentelemetry.trace.span import TraceFlags
3032

3133

@@ -213,8 +215,16 @@ def test_log_record_from_api_log_record(self):
213215
)
214216

215217
resource = Resource.create({})
218+
219+
# Create a mock logger with the required attributes
220+
logger = Mock()
221+
logger._resource = resource
222+
logger._instrumentation_scope = InstrumentationScope("test")
223+
224+
context = get_current()
225+
216226
record = ReadWriteLogRecord._from_api_log_record(
217-
record=api_log_record, resource=resource
227+
api_log_record, logger, context
218228
)
219229

220230
self.assertEqual(record.log_record.timestamp, 1)

0 commit comments

Comments
 (0)