Configure loguru with custom format including trace ID.
()
| 59 | |
| 60 | |
| 61 | def configure_logging(): |
| 62 | """Configure loguru with custom format including trace ID.""" |
| 63 | # Remove default handler |
| 64 | logger.remove() |
| 65 | |
| 66 | # Add stdout handler with custom format and filter to ensure trace_id exists |
| 67 | logger.add( |
| 68 | sys.stdout, |
| 69 | level="INFO", |
| 70 | format="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level}</level> | <cyan>{extra[trace_id]:-<12}</cyan> | <cyan>{name}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>", |
| 71 | enqueue=True, |
| 72 | backtrace=True, |
| 73 | diagnose=True, |
| 74 | filter=lambda record: (record["extra"].setdefault("trace_id", get_trace_id() or str(uuid4())) is not None) |
| 75 | ) |
| 76 | |
| 77 | _disable_agentbay_logger_override() |
| 78 | |
| 79 | return logger |
| 80 | |
| 81 | |
| 82 | def quiet_noisy_connection_loggers() -> None: |
no test coverage detected