Skip to main content

Crate platform_common

Crate platform_common 

Source
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).