Platform Common
Общие утилиты и middleware для микросервисов SIM Platform.
Возможности
- 📊 Structured Logging - JSON логирование для Loki с trace-id
- 🔍 Distributed Tracing - Автоматическая propagation trace-id между сервисами
- 🎯 Axum Middleware - Готовые middleware для trace-id
- 🚀 Zero Config - Работает из коробки с разумными defaults
Установка
[]
= { = "https://gitlab.com/sim2381847/platform_common.git", = ["full"] }
Features
tracing-setup- Настройка JSON логирования (включено по умолчанию)middleware- Axum middleware для trace-id (включено по умолчанию)trace-propagation- Propagation trace-id в HTTP клиентахfull- Все фичи
Использование
1. Настройка логирования
use init_tracing;
2. Добавление trace-id middleware
use ;
use trace_id_middleware;
let app = new
.route
.layer;
3. Использование trace-id в handlers
use Json;
use TraceId;
async
4. Propagation trace-id в HTTP запросах
use TracePropagation;
use TraceId;
async
Environment Variables
LOG_FORMAT- Формат логирования:json(default) илиprettyRUST_LOG- Уровень логирования (default:info)
Примеры
См. examples/ директорию для полных примеров использования.
License
MIT