|
18 | 18 | from unittest.mock import Mock, patch
|
19 | 19 |
|
20 | 20 | 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 | +) |
22 | 28 | from opentelemetry.sdk._logs._internal import (
|
23 | 29 | NoOpLogger,
|
24 | 30 | SynchronousMultiLogRecordProcessor,
|
@@ -127,3 +133,29 @@ def test_can_emit_api_logrecord(self):
|
127 | 133 | log_record_processor_mock.on_emit.assert_called_once()
|
128 | 134 | log_data = log_record_processor_mock.on_emit.call_args.args[0]
|
129 | 135 | 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