|
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