Crate pulseengine_mcp_logging

Source
Expand description

Structured logging framework for MCP servers

This crate provides comprehensive logging capabilities for MCP servers including:

  • Structured logging with tracing
  • Metrics collection and reporting
  • Log sanitization for security
  • Performance monitoring integration

§Example

use pulseengine_mcp_logging::{MetricsCollector, StructuredLogger};

#[tokio::main]
async fn main() {
    let metrics = MetricsCollector::new();
    let logger = StructuredLogger::new();

    // Initialize structured logging
    logger.init().expect("Failed to initialize logging");

    // Log with structured context
    tracing::info!(server_type = "mcp", version = "1.0", "Server started");
}

Re-exports§

pub use metrics::get_metrics;
pub use metrics::BusinessMetrics;
pub use metrics::ErrorMetrics;
pub use metrics::ErrorRecord;
pub use metrics::HealthMetrics;
pub use metrics::MetricsCollector;
pub use metrics::MetricsSnapshot;
pub use metrics::RequestMetrics;
pub use sanitization::LogSanitizer;
pub use sanitization::SanitizationConfig;
pub use structured::ErrorClass;
pub use structured::StructuredContext;
pub use structured::StructuredLogger;

Modules§

metrics
Metrics collection for observability and monitoring
sanitization
Log sanitization for production builds
structured
Enhanced structured logging for better observability

Macros§

sanitized_debug
sanitized_error
Convenient macros for different log levels
sanitized_info
sanitized_log
Convenient macro for sanitized logging
sanitized_warn

Enums§

LoggingError
Logging error types

Traits§

ErrorClassification
Generic error trait for classification

Type Aliases§

Result
Result type for logging operations