Skip to content

Commit c3eb43a

Browse files
committed
Test and fixes
1 parent 8001265 commit c3eb43a

File tree

2 files changed

+33
-2
lines changed

2 files changed

+33
-2
lines changed

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,6 @@ def emit(
214214
record: "LogRecord",
215215
) -> None: ...
216216

217-
@abstractmethod
218217
def emit(
219218
self,
220219
record: "LogRecord | None" = None,

opentelemetry-sdk/tests/logs/test_logs.py

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,13 @@
1818
from unittest.mock import Mock, patch
1919

2020
from opentelemetry._logs import LogRecord as APILogRecord
21-
from opentelemetry.sdk._logs import Logger, LoggerProvider, LogRecord
21+
from opentelemetry._logs import SeverityNumber
22+
from opentelemetry.context import get_current
23+
from opentelemetry.sdk._logs import (
24+
Logger,
25+
LoggerProvider,
26+
LogRecord,
27+
)
2228
from opentelemetry.sdk._logs._internal import (
2329
NoOpLogger,
2430
SynchronousMultiLogRecordProcessor,
@@ -127,3 +133,29 @@ def test_can_emit_api_logrecord(self):
127133
log_record_processor_mock.on_emit.assert_called_once()
128134
log_data = log_record_processor_mock.on_emit.call_args.args[0]
129135
self.assertTrue(isinstance(log_data.log_record, LogRecord))
136+
137+
def test_can_emit_with_keywords_arguments(self):
138+
logger, log_record_processor_mock = self._get_logger()
139+
140+
logger.emit(
141+
timestamp=100,
142+
observed_timestamp=101,
143+
context=get_current(),
144+
severity_number=SeverityNumber.WARN,
145+
severity_text="warn",
146+
body="a body",
147+
attributes={"some": "attributes"},
148+
event_name="event_name",
149+
)
150+
log_record_processor_mock.on_emit.assert_called_once()
151+
log_data = log_record_processor_mock.on_emit.call_args.args[0]
152+
log_record = log_data.log_record
153+
self.assertTrue(isinstance(log_record, LogRecord))
154+
self.assertEqual(log_record.timestamp, 100)
155+
self.assertEqual(log_record.observed_timestamp, 101)
156+
self.assertEqual(log_record.context, {})
157+
self.assertEqual(log_record.severity_number, SeverityNumber.WARN)
158+
self.assertEqual(log_record.severity_text, "warn")
159+
self.assertEqual(log_record.body, "a body")
160+
self.assertEqual(log_record.attributes, {"some": "attributes"})
161+
self.assertEqual(log_record.event_name, "event_name")

0 commit comments

Comments
 (0)