Skip to content

Commit d1cd9e5

Browse files
committed
Update
1 parent 540bfe7 commit d1cd9e5

File tree

2 files changed

+35
-4
lines changed

2 files changed

+35
-4
lines changed

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,7 @@
2626
detach,
2727
set_value,
2828
)
29-
from opentelemetry.sdk._shared_internal import BatchProcessor
3029
from opentelemetry.sdk._logs import (
31-
LogData,
32-
LogRecord,
3330
LogRecordProcessor,
3431
ReadableLogRecord,
3532
ReadWriteLogRecord,

opentelemetry-sdk/tests/logs/test_logs.py

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
import unittest
1818
from unittest.mock import Mock, patch
1919

20-
from opentelemetry.sdk._logs import LoggerProvider
20+
from opentelemetry._logs import LogRecord, SeverityNumber
21+
from opentelemetry.sdk._logs import LoggerProvider, ReadableLogRecord
2122
from opentelemetry.sdk._logs._internal import (
2223
NoOpLogger,
2324
SynchronousMultiLogRecordProcessor,
@@ -85,3 +86,36 @@ def test_logger_provider_init(self, resource_patch):
8586
)
8687
)
8788
self.assertIsNotNone(logger_provider._at_exit_handler)
89+
90+
91+
class TestReadableLogRecord(unittest.TestCase):
92+
def setUp(self):
93+
self.log_record = LogRecord(
94+
timestamp=1234567890,
95+
observed_timestamp=1234567891,
96+
body="Test log message",
97+
attributes={"key": "value"},
98+
severity_number=SeverityNumber.INFO,
99+
severity_text="INFO",
100+
)
101+
self.resource = Resource({"service.name": "test-service"})
102+
self.readable_log_record = ReadableLogRecord(
103+
log_record=self.log_record,
104+
resource=self.resource,
105+
instrumentation_scope=None,
106+
)
107+
108+
def test_readable_log_record_is_frozen(self):
109+
"""Test that ReadableLogRecord is frozen and cannot be modified."""
110+
with self.assertRaises((AttributeError, TypeError)):
111+
self.readable_log_record.log_record = LogRecord(
112+
timestamp=999,
113+
body="Modified"
114+
)
115+
116+
def test_readable_log_record_can_read_attributes(self):
117+
"""Test that ReadableLogRecord provides read access to all fields."""
118+
self.assertEqual(self.readable_log_record.log_record.timestamp, 1234567890)
119+
self.assertEqual(self.readable_log_record.log_record.body, "Test log message")
120+
self.assertEqual(self.readable_log_record.log_record.attributes["key"], "value")
121+
self.assertEqual(self.readable_log_record.resource.attributes["service.name"], "test-service")

0 commit comments

Comments
 (0)