|
16 | 16 | from pathlib import Path |
17 | 17 | from typing import Any, NotRequired, TypeAlias, TypedDict, TypeVar |
18 | 18 |
|
| 19 | +from settings_library.tracing import TracingSettings |
| 20 | + |
19 | 21 | from .logging_utils_filtering import GeneralLogFilter, LoggerName, MessageSubstring |
| 22 | +from .tracing import setup_log_tracing |
20 | 23 | from .utils_secrets import mask_sensitive_data |
21 | 24 |
|
22 | 25 | _logger = logging.getLogger(__name__) |
@@ -121,20 +124,41 @@ def config_all_loggers( |
121 | 124 | *, |
122 | 125 | log_format_local_dev_enabled: bool, |
123 | 126 | logger_filter_mapping: dict[LoggerName, list[MessageSubstring]], |
| 127 | + tracing_settings: TracingSettings | None, |
124 | 128 | ) -> None: |
125 | 129 | """ |
126 | 130 | Applies common configuration to ALL registered loggers |
127 | 131 | """ |
128 | | - fmt = DEFAULT_FORMATTING |
129 | 132 | the_manager: logging.Manager = logging.Logger.manager |
130 | 133 | root_logger = logging.getLogger() |
131 | 134 |
|
132 | 135 | loggers = [root_logger] + [ |
133 | 136 | logging.getLogger(name) for name in the_manager.loggerDict |
134 | 137 | ] |
135 | 138 |
|
| 139 | + fmt = DEFAULT_FORMATTING |
| 140 | + if tracing_settings is not None: |
| 141 | + fmt = ( |
| 142 | + "log_level=%(levelname)s " |
| 143 | + "| log_timestamp=%(asctime)s " |
| 144 | + "| log_source=%(name)s:%(funcName)s(%(lineno)d) " |
| 145 | + "| log_uid=%(log_uid)s " |
| 146 | + "| log_oec=%(log_oec)s" |
| 147 | + "| log_trace_id=%(otelTraceID)s " |
| 148 | + "| log_span_id=%(otelSpanID)s " |
| 149 | + "| log_resource.service.name=%(otelServiceName)s " |
| 150 | + "| log_trace_sampled=%(otelTraceSampled)s] " |
| 151 | + "| log_msg=%(message)s" |
| 152 | + ) |
| 153 | + setup_log_tracing(tracing_settings=tracing_settings) |
136 | 154 | if log_format_local_dev_enabled: |
137 | 155 | fmt = LOCAL_FORMATTING |
| 156 | + if tracing_settings is not None: |
| 157 | + fmt = ( |
| 158 | + "%(levelname)s: [%(asctime)s/%(processName)s] " |
| 159 | + "[log_trace_id=%(otelTraceID)s log_span_id=%(otelSpanID)s log_resource.service.name=%(otelServiceName)s log_trace_sampled=%(otelTraceSampled)s] " |
| 160 | + "[%(name)s:%(funcName)s(%(lineno)d)] - %(message)s" |
| 161 | + ) |
138 | 162 |
|
139 | 163 | for logger in loggers: |
140 | 164 | _set_logging_handler( |
|
0 commit comments