Skip to content

Commit 59a4f7e

Browse files
committed
Update
1 parent 748d50a commit 59a4f7e

File tree

17 files changed

+79
-147
lines changed

17 files changed

+79
-147
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
ResourceLogs,
3131
ScopeLogs,
3232
)
33-
from opentelemetry.sdk._logs import LogRecord as SDKLogRecord
33+
from opentelemetry.sdk._logs import SDKLogRecord
3434

3535

3636
def encode_logs(batch: Sequence[SDKLogRecord]) -> ExportLogsServiceRequest:

exporter/opentelemetry-exporter-otlp-proto-common/tests/test_log_encoder.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@
4545
from opentelemetry.proto.resource.v1.resource_pb2 import (
4646
Resource as PB2Resource,
4747
)
48-
from opentelemetry.sdk._logs import LogLimits
49-
from opentelemetry.sdk._logs import LogRecord as SDKLogRecord
48+
from opentelemetry.sdk._logs import LogLimits, SDKLogRecord
5049
from opentelemetry.sdk.resources import Resource as SDKResource
5150
from opentelemetry.sdk.util.instrumentation import InstrumentationScope
5251
from opentelemetry.trace import (

exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/_log_exporter/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
from opentelemetry.proto.collector.logs.v1.logs_service_pb2_grpc import (
2929
LogsServiceStub,
3030
)
31-
from opentelemetry.sdk._logs import LogRecord as SDKLogRecord
31+
from opentelemetry.sdk._logs import SDKLogRecord
3232
from opentelemetry.sdk._logs.export import LogExporter, LogExportResult
3333
from opentelemetry.sdk.environment_variables import (
3434
OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE,

exporter/opentelemetry-exporter-otlp-proto-grpc/tests/logs/test_otlp_logs_exporter.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
from opentelemetry.proto.resource.v1.resource_pb2 import (
4040
Resource as OTLPResource,
4141
)
42-
from opentelemetry.sdk._logs import LogRecord
42+
from opentelemetry.sdk._logs import SDKLogRecord
4343
from opentelemetry.sdk.environment_variables import (
4444
OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE,
4545
OTEL_EXPORTER_OTLP_LOGS_CLIENT_CERTIFICATE,
@@ -74,7 +74,7 @@ def setUp(self):
7474
)
7575
)
7676
)
77-
self.log_data_1 = LogRecord(
77+
self.log_data_1 = SDKLogRecord(
7878
timestamp=int(time.time() * 1e9),
7979
context=ctx_log_data_1,
8080
severity_text="WARNING",
@@ -96,7 +96,7 @@ def setUp(self):
9696
)
9797
)
9898
)
99-
self.log_data_2 = LogRecord(
99+
self.log_data_2 = SDKLogRecord(
100100
timestamp=int(time.time() * 1e9),
101101
context=ctx_log_data_2,
102102
severity_text="INFO",
@@ -118,7 +118,7 @@ def setUp(self):
118118
)
119119
)
120120
)
121-
self.log_data_3 = LogRecord(
121+
self.log_data_3 = SDKLogRecord(
122122
timestamp=int(time.time() * 1e9),
123123
context=ctx_log_data_3,
124124
severity_text="ERROR",
@@ -134,7 +134,7 @@ def setUp(self):
134134
SpanContext(0, 5213367945872657629, False, TraceFlags(0x01))
135135
)
136136
)
137-
self.log_data_4 = LogRecord(
137+
self.log_data_4 = SDKLogRecord(
138138
timestamp=int(time.time() * 1e9),
139139
context=ctx_log_data_4,
140140
severity_text="ERROR",
@@ -155,7 +155,7 @@ def setUp(self):
155155
)
156156
)
157157
)
158-
self.log_data_5 = LogRecord(
158+
self.log_data_5 = SDKLogRecord(
159159
timestamp=int(time.time() * 1e9),
160160
context=ctx_log_data_5,
161161
severity_text="ERROR",

exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
from opentelemetry.exporter.otlp.proto.http._common import (
3333
_is_retryable,
3434
)
35-
from opentelemetry.sdk._logs import LogRecord
35+
from opentelemetry.sdk._logs import SDKLogRecord
3636
from opentelemetry.sdk._logs.export import (
3737
LogExporter,
3838
LogExportResult,
@@ -156,7 +156,7 @@ def _export(self, serialized_data: bytes, timeout_sec: float):
156156
)
157157
return resp
158158

159-
def export(self, batch: Sequence[LogRecord]) -> LogExportResult:
159+
def export(self, batch: Sequence[SDKLogRecord]) -> LogExportResult:
160160
if self._shutdown:
161161
_logger.warning("Exporter already shutdown, ignoring batch")
162162
return LogExportResult.FAILURE

exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_log_exporter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
from opentelemetry.proto.collector.logs.v1.logs_service_pb2 import (
3939
ExportLogsServiceRequest,
4040
)
41-
from opentelemetry.sdk._logs import LogRecord as SDKLogRecord
41+
from opentelemetry.sdk._logs import SDKLogRecord
4242
from opentelemetry.sdk._logs.export import LogExportResult
4343
from opentelemetry.sdk.environment_variables import (
4444
OTEL_EXPORTER_OTLP_CERTIFICATE,

opentelemetry-sdk/src/opentelemetry/sdk/_events/__init__.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@
1515
from time import time_ns
1616
from typing import Optional
1717

18-
from opentelemetry import trace
1918
from opentelemetry._events import Event
2019
from opentelemetry._events import EventLogger as APIEventLogger
2120
from opentelemetry._events import EventLoggerProvider as APIEventLoggerProvider
2221
from opentelemetry._logs import NoOpLogger, SeverityNumber, get_logger_provider
23-
from opentelemetry.sdk._logs import Logger, LoggerProvider, LogRecord
22+
from opentelemetry.sdk._logs import Logger, LoggerProvider, SDKLogRecord
2423
from opentelemetry.util.types import _ExtendedAttributes
2524

2625
_logger = logging.getLogger(__name__)
@@ -49,13 +48,9 @@ def emit(self, event: Event) -> None:
4948
if isinstance(self._logger, NoOpLogger):
5049
# Do nothing if SDK is disabled
5150
return
52-
span_context = trace.get_current_span().get_span_context()
53-
log_record = LogRecord(
51+
log_record = SDKLogRecord(
5452
timestamp=event.timestamp or time_ns(),
5553
observed_timestamp=None,
56-
trace_id=event.trace_id or span_context.trace_id,
57-
span_id=event.span_id or span_context.span_id,
58-
trace_flags=event.trace_flags or span_context.trace_flags,
5954
severity_text=None,
6055
severity_number=event.severity_number or SeverityNumber.INFO,
6156
body=event.body,

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,21 @@
1414

1515

1616
from opentelemetry.sdk._logs._internal import (
17-
LogDeprecatedInitWarning,
1817
LogDroppedAttributesWarning,
1918
Logger,
2019
LoggerProvider,
2120
LoggingHandler,
2221
LogLimits,
23-
LogRecord,
2422
LogRecordProcessor,
23+
SDKLogRecord,
2524
)
2625

2726
__all__ = [
2827
"Logger",
2928
"LoggerProvider",
3029
"LoggingHandler",
3130
"LogLimits",
32-
"LogRecord",
3331
"LogRecordProcessor",
34-
"LogDeprecatedInitWarning",
3532
"LogDroppedAttributesWarning",
33+
"SDKLogRecord",
3634
]

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

Lines changed: 28 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,10 @@
2727
from time import time_ns
2828
from typing import Any, Callable, Tuple, Union, cast, overload # noqa
2929

30-
from typing_extensions import deprecated
31-
3230
from opentelemetry._logs import Logger as APILogger
3331
from opentelemetry._logs import LoggerProvider as APILoggerProvider
34-
from opentelemetry._logs import LogRecord as APILogRecord
3532
from opentelemetry._logs import (
33+
LogRecord,
3634
NoOpLogger,
3735
SeverityNumber,
3836
get_logger,
@@ -56,7 +54,6 @@
5654
format_trace_id,
5755
get_current_span,
5856
)
59-
from opentelemetry.trace.span import TraceFlags
6057
from opentelemetry.util.types import AnyValue, _ExtendedAttributes
6158

6259
_logger = logging.getLogger(__name__)
@@ -84,18 +81,6 @@ class LogDroppedAttributesWarning(UserWarning):
8481
warnings.simplefilter("once", LogDroppedAttributesWarning)
8582

8683

87-
class LogDeprecatedInitWarning(UserWarning):
88-
"""Custom warning to indicate deprecated LogRecord init was used.
89-
90-
This class is used to filter and handle these specific warnings separately
91-
from other warnings, ensuring that they are only shown once without
92-
interfering with default user warnings.
93-
"""
94-
95-
96-
warnings.simplefilter("once", LogDeprecatedInitWarning)
97-
98-
9984
class LogLimits:
10085
"""This class is based on a SpanLimits class in the Tracing module.
10186
@@ -187,10 +172,10 @@ def _from_env_if_absent(
187172
)
188173

189174

190-
class LogRecord(APILogRecord):
191-
"""A LogRecord instance represents an event being logged.
175+
class SDKLogRecord(LogRecord):
176+
"""A SDKLogRecord instance represents an event being logged.
192177
193-
LogRecord instances are created and emitted via `Logger`
178+
SDKLogRecord instances are created and emitted via `Logger`
194179
every time something is logged. They contain all the information
195180
pertinent to the event being logged.
196181
"""
@@ -210,33 +195,11 @@ def __init__(
210195
event_name: str | None = None,
211196
): ...
212197

213-
@overload
214-
@deprecated(
215-
"LogRecord init with `trace_id`, `span_id`, and/or `trace_flags` is deprecated since 1.35.0. Use `context` instead." # noqa: E501
216-
)
217-
def __init__(
218-
self,
219-
timestamp: int | None = None,
220-
observed_timestamp: int | None = None,
221-
trace_id: int | None = None,
222-
span_id: int | None = None,
223-
trace_flags: TraceFlags | None = None,
224-
severity_text: str | None = None,
225-
severity_number: SeverityNumber | None = None,
226-
body: AnyValue | None = None,
227-
resource: Resource | None = None,
228-
attributes: _ExtendedAttributes | None = None,
229-
limits: LogLimits | None = _UnsetLogLimits,
230-
): ...
231-
232198
def __init__( # pylint:disable=too-many-locals
233199
self,
234200
timestamp: int | None = None,
235201
observed_timestamp: int | None = None,
236202
context: Context | None = None,
237-
trace_id: int | None = None,
238-
span_id: int | None = None,
239-
trace_flags: TraceFlags | None = None,
240203
severity_text: str | None = None,
241204
severity_number: SeverityNumber | None = None,
242205
body: AnyValue | None = None,
@@ -246,13 +209,6 @@ def __init__( # pylint:disable=too-many-locals
246209
event_name: str | None = None,
247210
instrumentation_scope: InstrumentationScope | None = None,
248211
):
249-
if trace_id or span_id or trace_flags:
250-
warnings.warn(
251-
"LogRecord init with `trace_id`, `span_id`, and/or `trace_flags` is deprecated since 1.35.0. Use `context` instead.",
252-
LogDeprecatedInitWarning,
253-
stacklevel=2,
254-
)
255-
256212
if not context:
257213
context = get_current()
258214

@@ -264,9 +220,9 @@ def __init__( # pylint:disable=too-many-locals
264220
"timestamp": timestamp,
265221
"observed_timestamp": observed_timestamp,
266222
"context": context,
267-
"trace_id": trace_id or span_context.trace_id,
268-
"span_id": span_id or span_context.span_id,
269-
"trace_flags": trace_flags or span_context.trace_flags,
223+
"trace_id": span_context.trace_id,
224+
"span_id": span_context.span_id,
225+
"trace_flags": span_context.trace_flags,
270226
"severity_text": severity_text,
271227
"severity_number": severity_number,
272228
"body": body,
@@ -292,7 +248,7 @@ def __init__( # pylint:disable=too-many-locals
292248
)
293249

294250
def __eq__(self, other: object) -> bool:
295-
if not isinstance(other, LogRecord):
251+
if not isinstance(other, SDKLogRecord):
296252
return NotImplemented
297253
return self.__dict__ == other.__dict__
298254

@@ -347,8 +303,8 @@ class LogRecordProcessor(abc.ABC):
347303
"""
348304

349305
@abc.abstractmethod
350-
def on_emit(self, log_record: LogRecord):
351-
"""Emits the `LogRecord`"""
306+
def on_emit(self, log_record: SDKLogRecord):
307+
"""Emits the `SDKLogRecord`"""
352308

353309
@abc.abstractmethod
354310
def shutdown(self):
@@ -391,7 +347,7 @@ def add_log_record_processor(
391347
with self._lock:
392348
self._log_record_processors += (log_record_processor,)
393349

394-
def on_emit(self, log_record: LogRecord) -> None:
350+
def on_emit(self, log_record: SDKLogRecord) -> None:
395351
for lp in self._log_record_processors:
396352
lp.on_emit(log_record)
397353

@@ -465,7 +421,7 @@ def _submit_and_wait(
465421
for future in futures:
466422
future.result()
467423

468-
def on_emit(self, log_record: LogRecord):
424+
def on_emit(self, log_record: SDKLogRecord):
469425
self._submit_and_wait(lambda lp: lp.on_emit, log_record)
470426

471427
def shutdown(self):
@@ -575,7 +531,7 @@ def _get_attributes(record: logging.LogRecord) -> _ExtendedAttributes:
575531
)
576532
return attributes
577533

578-
def _translate(self, record: logging.LogRecord) -> LogRecord:
534+
def _translate(self, record: logging.LogRecord) -> SDKLogRecord:
579535
timestamp = int(record.created * 1e9)
580536
observered_timestamp = time_ns()
581537
attributes = self._get_attributes(record)
@@ -610,7 +566,7 @@ def _translate(self, record: logging.LogRecord) -> LogRecord:
610566
)
611567

612568
logger = get_logger(record.name, logger_provider=self._logger_provider)
613-
return LogRecord(
569+
return SDKLogRecord(
614570
timestamp=timestamp,
615571
observed_timestamp=observered_timestamp,
616572
context=get_current() or None,
@@ -669,11 +625,22 @@ def resource(self):
669625
return self._resource
670626

671627
def emit(self, record: LogRecord):
672-
"""Emits the :class:`LogRecord` by setting instrumentation scope
628+
"""Emits the :class:`SDKLogRecord` by setting instrumentation scope
673629
and forwarding to the processor.
674630
"""
675-
record.instrumentation_scope = self._instrumentation_scope
676-
self._multi_log_record_processor.on_emit(record)
631+
sdk_log_record = SDKLogRecord(
632+
timestamp=record.timestamp,
633+
observed_timestamp=record.observed_timestamp,
634+
context=record.context,
635+
severity_text=record.severity_text,
636+
severity_number=record.severity_number,
637+
body=record.body,
638+
attributes=record.attributes,
639+
event_name=record.event_name,
640+
resource=self._resource,
641+
instrumentation_scope=self._instrumentation_scope,
642+
)
643+
self._multi_log_record_processor.on_emit(sdk_log_record)
677644

678645

679646
class LoggerProvider(APILoggerProvider):

0 commit comments

Comments
 (0)