Expand description
§Platform Common
Общие утилиты и middleware для микросервисов SIM Platform.
§Модули
tracing_setup- Настройка структурированного логирования (JSON для Loki)middleware- Axum middleware (trace-id, extractors)trace_propagation- Propagation trace-id в HTTP запросах между сервисами
§Использование
ⓘ
// В Cargo.toml:
// platform_common = { path = "../../libs/rust/platform_common", features = ["full"] }
use platform_common::tracing_setup::init_tracing;
use platform_common::middleware::trace_id_middleware;
use axum::{Router, routing::get, middleware as axum_middleware};
#[tokio::main]
async fn main() {
// Настройка логирования:
init_tracing("my-service", Some("json"));
// Добавление middleware:
async fn handler() -> &'static str { "Hello" }
let app = Router::new()
.route("/", get(handler))
.layer(axum_middleware::from_fn(trace_id_middleware));
}Re-exports§
pub use middleware::create_filtered_trace_layer;pub use middleware::trace_id_middleware;pub use middleware::TraceId;pub use tracing;
Modules§
- errors
- Общие типы ошибок
- headers
- Константы для HTTP заголовков
- health
- Health check utilities
- middleware
- Middleware для Axum (trace-id, auth extractors, filtered trace layer, etc.) Middleware для trace-id и фильтрованного логирования
- tracing_
setup - Настройка tracing и логирования Настройка structured logging для Loki
Structs§
- Uuid
- A Universally Unique Identifier (UUID).