Skip to content

Commit 95f43f3

Browse files
author
Liudmila Molkova
committed
is enabled
1 parent cad15de commit 95f43f3

File tree

3 files changed

+54
-237
lines changed

3 files changed

+54
-237
lines changed

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

Lines changed: 0 additions & 221 deletions
This file was deleted.

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

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,14 @@ def __init__(
122122
self._schema_url = schema_url
123123
self._attributes = attributes
124124

125+
@abstractmethod
126+
def is_enabled(
127+
self,
128+
severity_number: Optional[SeverityNumber] = None,
129+
context: Optional[Context] = None
130+
) -> bool:
131+
"""Returns True if the logger is enabled for given severity and context, False otherwise."""
132+
125133
@abstractmethod
126134
def emit(self, record: "LogRecord") -> None:
127135
"""Emits a :class:`LogRecord` representing a log to the processing pipeline."""
@@ -131,12 +139,14 @@ def emit_event(
131139
self,
132140
name: str,
133141
timestamp: Optional[int] = None,
142+
observed_timestamp: Optional[int] = None,
143+
severity_number: Optional[SeverityNumber] = None,
144+
severity_text: Optional[str] = None,
134145
context: Optional[Context] = None,
135146
body: Optional[Any] = None,
136-
severity_number: Optional[SeverityNumber] = None,
137147
attributes: Optional[Attributes] = None,
138148
) -> None:
139-
"""Emits a :class:`LogRecord` representing a event to the processing pipeline."""
149+
"""Emits an event to the processing pipeline."""
140150

141151

142152
class NoOpLogger(Logger):
@@ -145,6 +155,13 @@ class NoOpLogger(Logger):
145155
All operations are no-op.
146156
"""
147157

158+
def is_enabled(
159+
self,
160+
severity_number: Optional[SeverityNumber] = None,
161+
context: Optional[Context] = None
162+
) -> bool:
163+
return False
164+
148165
def emit(self, record: "LogRecord") -> None:
149166
pass
150167

@@ -190,6 +207,13 @@ def _logger(self) -> Logger:
190207
return self._real_logger
191208
return self._noop_logger
192209

210+
def is_enabled(
211+
self,
212+
severity_number: Optional[SeverityNumber] = None,
213+
context: Optional[Context] = None
214+
) -> bool:
215+
return self._logger.is_enabled(severity_number=severity_number, context=context)
216+
193217
def emit(self, record: LogRecord) -> None:
194218
self._logger.emit(record)
195219

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

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -592,6 +592,14 @@ def __init__(
592592
def resource(self):
593593
return self._resource
594594

595+
def is_enabled(
596+
self,
597+
severity_number: Optional[SeverityNumber] = None,
598+
context: Optional[Context] = None
599+
) -> bool:
600+
"""Returns True if the logger is enabled for given severity and context, False otherwise."""
601+
return True # TODO
602+
595603
def emit(self, record: LogRecord):
596604
"""Emits the :class:`LogData` by associating :class:`LogRecord`
597605
and instrumentation info.
@@ -603,28 +611,34 @@ def emit_event(
603611
self,
604612
name: str,
605613
timestamp: Optional[int] = None,
614+
observed_timestamp: Optional[int] = None,
615+
severity_number: Optional[SeverityNumber] = None,
616+
severity_text: Optional[str] = None,
606617
context: Optional[Context] = None,
607618
body: Optional[Any] = None,
608-
severity_number: Optional[SeverityNumber] = None,
609619
attributes: Optional[Attributes] = None,
610620
) -> None:
611621
"""Emits the :class:`LogData` by associating :class:`LogRecord`
612622
and instrumentation info.
613623
"""
614-
event_attributes = {**(attributes or {}), "event.name": name}
615-
616-
current_span_context = get_current_span(context).get_span_context()
617-
self.emit(
618-
LogRecord(
619-
timestamp=timestamp or time_ns(),
620-
trace_id=current_span_context.trace_id,
621-
span_id=current_span_context.span_id,
622-
trace_flags=current_span_context.trace_flags,
623-
severity_number=severity_number,
624-
body=body,
625-
attributes=event_attributes,
624+
625+
if self.is_enabled(severity_number, context):
626+
event_attributes = {**(attributes or {}), "event.name": name}
627+
628+
current_span_context = get_current_span(context).get_span_context()
629+
self.emit(
630+
LogRecord(
631+
timestamp=timestamp or time_ns(),
632+
observed_timestamp=observed_timestamp or time_ns(),
633+
trace_id=current_span_context.trace_id,
634+
span_id=current_span_context.span_id,
635+
trace_flags=current_span_context.trace_flags,
636+
severity_text=severity_text,
637+
severity_number=severity_number,
638+
body=body,
639+
attributes=event_attributes,
640+
)
626641
)
627-
)
628642

629643

630644
class LoggerProvider(APILoggerProvider):

0 commit comments

Comments
 (0)