Skip to content

Commit 75d78fe

Browse files
committed
logs: introduce LogAttributes type
Logs attribute accepts AnyValue as AttributeValue add a type to describe that and start using it.
1 parent 415c94f commit 75d78fe

File tree

3 files changed

+16
-14
lines changed

3 files changed

+16
-14
lines changed

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
from opentelemetry.trace.span import TraceFlags
4545
from opentelemetry.util._once import Once
4646
from opentelemetry.util._providers import _load_provider
47-
from opentelemetry.util.types import Attributes
47+
from opentelemetry.util.types import LogAttributes
4848

4949
_logger = getLogger(__name__)
5050

@@ -67,7 +67,7 @@ def __init__(
6767
severity_text: Optional[str] = None,
6868
severity_number: Optional[SeverityNumber] = None,
6969
body: Optional[Any] = None,
70-
attributes: Optional["Attributes"] = None,
70+
attributes: LogAttributes = None,
7171
):
7272
self.timestamp = timestamp
7373
if observed_timestamp is None:
@@ -90,7 +90,7 @@ def __init__(
9090
name: str,
9191
version: Optional[str] = None,
9292
schema_url: Optional[str] = None,
93-
attributes: Optional[Attributes] = None,
93+
attributes: LogAttributes = None,
9494
) -> None:
9595
super().__init__()
9696
self._name = name
@@ -119,7 +119,7 @@ def __init__( # pylint: disable=super-init-not-called
119119
name: str,
120120
version: Optional[str] = None,
121121
schema_url: Optional[str] = None,
122-
attributes: Optional[Attributes] = None,
122+
attributes: LogAttributes = None,
123123
):
124124
self._name = name
125125
self._version = version
@@ -158,7 +158,7 @@ def get_logger(
158158
name: str,
159159
version: Optional[str] = None,
160160
schema_url: Optional[str] = None,
161-
attributes: Optional[Attributes] = None,
161+
attributes: LogAttributes = None,
162162
) -> Logger:
163163
"""Returns a `Logger` for use by the given instrumentation library.
164164
@@ -196,7 +196,7 @@ def get_logger(
196196
name: str,
197197
version: Optional[str] = None,
198198
schema_url: Optional[str] = None,
199-
attributes: Optional[Attributes] = None,
199+
attributes: LogAttributes = None,
200200
) -> Logger:
201201
"""Returns a NoOpLogger."""
202202
return NoOpLogger(
@@ -210,7 +210,7 @@ def get_logger(
210210
name: str,
211211
version: Optional[str] = None,
212212
schema_url: Optional[str] = None,
213-
attributes: Optional[Attributes] = None,
213+
attributes: LogAttributes = None,
214214
) -> Logger:
215215
if _LOGGER_PROVIDER:
216216
return _LOGGER_PROVIDER.get_logger(
@@ -273,7 +273,7 @@ def get_logger(
273273
instrumenting_library_version: str = "",
274274
logger_provider: Optional[LoggerProvider] = None,
275275
schema_url: Optional[str] = None,
276-
attributes: Optional[Attributes] = None,
276+
attributes: LogAttributes = None,
277277
) -> "Logger":
278278
"""Returns a `Logger` for use within a python process.
279279

opentelemetry-api/src/opentelemetry/util/types.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,5 @@
5656
],
5757
...,
5858
]
59+
60+
LogAttributes = Optional[Mapping[str, AnyValue]]

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
get_current_span,
5252
)
5353
from opentelemetry.trace.span import TraceFlags
54-
from opentelemetry.util.types import AnyValue, Attributes
54+
from opentelemetry.util.types import AnyValue, LogAttributes
5555

5656
_logger = logging.getLogger(__name__)
5757

@@ -179,9 +179,9 @@ def __init__(
179179
trace_flags: Optional[TraceFlags] = None,
180180
severity_text: Optional[str] = None,
181181
severity_number: Optional[SeverityNumber] = None,
182-
body: Optional[AnyValue] = None,
182+
body: AnyValue = None,
183183
resource: Optional[Resource] = None,
184-
attributes: Optional[Attributes] = None,
184+
attributes: LogAttributes = None,
185185
limits: Optional[LogLimits] = _UnsetLogLimits,
186186
):
187187
super().__init__(
@@ -476,7 +476,7 @@ def __init__(
476476
self._logger_provider = logger_provider or get_logger_provider()
477477

478478
@staticmethod
479-
def _get_attributes(record: logging.LogRecord) -> Attributes:
479+
def _get_attributes(record: logging.LogRecord) -> LogAttributes:
480480
attributes = {
481481
k: v for k, v in vars(record).items() if k not in _RESERVED_ATTRS
482482
}
@@ -633,7 +633,7 @@ def _get_logger_no_cache(
633633
name: str,
634634
version: Optional[str] = None,
635635
schema_url: Optional[str] = None,
636-
attributes: Optional[Attributes] = None,
636+
attributes: LogAttributes = None,
637637
) -> Logger:
638638
return Logger(
639639
self._resource,
@@ -667,7 +667,7 @@ def get_logger(
667667
name: str,
668668
version: Optional[str] = None,
669669
schema_url: Optional[str] = None,
670-
attributes: Optional[Attributes] = None,
670+
attributes: LogAttributes = None,
671671
) -> Logger:
672672
if self._disabled:
673673
warnings.warn("SDK is disabled.")

0 commit comments

Comments
 (0)