|
42 | 42 | from typing_extensions import deprecated |
43 | 43 |
|
44 | 44 | from opentelemetry._logs.severity import SeverityNumber |
| 45 | +from opentelemetry.context import get_current |
45 | 46 | from opentelemetry.context.context import Context |
46 | 47 | from opentelemetry.environment_variables import _OTEL_PYTHON_LOGGER_PROVIDER |
| 48 | +from opentelemetry.trace import get_current_span |
47 | 49 | from opentelemetry.trace.span import TraceFlags |
48 | 50 | from opentelemetry.util._once import Once |
49 | 51 | from opentelemetry.util._providers import _load_provider |
@@ -107,14 +109,17 @@ def __init__( |
107 | 109 | attributes: Optional[_ExtendedAttributes] = None, |
108 | 110 | event_name: Optional[str] = None, |
109 | 111 | ) -> None: |
| 112 | + if not context: |
| 113 | + context = get_current() |
| 114 | + span_context = get_current_span(context).get_span_context() |
110 | 115 | self.timestamp = timestamp |
111 | 116 | if observed_timestamp is None: |
112 | 117 | observed_timestamp = time_ns() |
113 | 118 | self.observed_timestamp = observed_timestamp |
114 | 119 | self.context = context |
115 | | - self.trace_id = trace_id |
116 | | - self.span_id = span_id |
117 | | - self.trace_flags = trace_flags |
| 120 | + self.trace_id = trace_id or span_context.trace_id |
| 121 | + self.span_id = span_id or span_context.span_id |
| 122 | + self.trace_flags = trace_flags or span_context.trace_flags |
118 | 123 | self.severity_text = severity_text |
119 | 124 | self.severity_number = severity_number |
120 | 125 | self.body = body |
|
0 commit comments