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 aggregation::AggregationConfig;
- pub use aggregation::AggregationError;
- pub use aggregation::LogAggregator;
- pub use aggregation::LogDestination;
- pub use aggregation::LogEntry;
- pub use aggregation::RetryConfig;
- pub use aggregation::SyslogProtocol;
- pub use alerting::Alert;
- pub use alerting::AlertConfig;
- pub use alerting::AlertError;
- pub use alerting::AlertManager;
- pub use alerting::AlertRule;
- pub use alerting::AlertSeverity;
- pub use alerting::AlertState;
- pub use alerting::ComparisonOperator;
- pub use alerting::MetricType;
- pub use alerting::NotificationChannel;
- pub use correlation::CorrelationConfig;
- pub use correlation::CorrelationContext;
- pub use correlation::CorrelationError;
- pub use correlation::CorrelationHeaders;
- pub use correlation::CorrelationManager;
- pub use correlation::CorrelationStats;
- pub use correlation::RequestTraceEntry;
- pub use dashboard::AggregationType;
- pub use dashboard::ChartConfig;
- pub use dashboard::ChartData;
- pub use dashboard::ChartOptions;
- pub use dashboard::ChartSeries;
- pub use dashboard::ChartStyling;
- pub use dashboard::ChartType;
- pub use dashboard::DashboardConfig;
- pub use dashboard::DashboardLayout;
- pub use dashboard::DashboardManager;
- pub use dashboard::DashboardSection;
- pub use dashboard::DashboardTheme;
- pub use dashboard::DataPoint;
- pub use dashboard::DataSource;
- pub use dashboard::GridPosition;
- pub use dashboard::LineStyle;
- pub use dashboard::Threshold;
- 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 metrics::get_metrics;
- pub use persistence::MetricsPersistence;
- pub use persistence::PersistedMetrics;
- pub use persistence::PersistenceConfig;
- pub use persistence::RotationInterval;
- pub use profiling::AsyncTaskProfile;
- pub use profiling::AsyncTaskState;
- pub use profiling::CpuProfilingConfig;
- pub use profiling::FlameGraphConfig;
- pub use profiling::FlameGraphData;
- pub use profiling::FlameGraphNode;
- pub use profiling::FunctionCall;
- pub use profiling::FunctionCallProfile;
- pub use profiling::MemoryProfilingConfig;
- pub use profiling::MemorySnapshot;
- pub use profiling::PerformanceHotspot;
- pub use profiling::PerformanceProfiler;
- pub use profiling::PerformanceThresholds;
- pub use profiling::ProfilingConfig;
- pub use profiling::ProfilingError;
- pub use profiling::ProfilingSession;
- pub use profiling::ProfilingSessionType;
- pub use profiling::ProfilingStats;
- pub use profiling::StackFrame;
- pub use sanitization::LogSanitizer;
- pub use sanitization::SanitizationConfig;
- pub use structured::ErrorClass;
- pub use structured::StructuredContext;
- pub use structured::StructuredLogger;
- pub use telemetry::BatchProcessingConfig;
- pub use telemetry::JaegerConfig;
- pub use telemetry::OtlpConfig;
- pub use telemetry::SamplingConfig;
- pub use telemetry::SamplingStrategy;
- pub use telemetry::TelemetryConfig;
- pub use telemetry::TelemetryError;
- pub use telemetry::TelemetryManager;
- pub use telemetry::ZipkinConfig;
- pub use telemetry::propagation;
- pub use telemetry::spans;
Modules§
- aggregation
- Log aggregation and centralized logging for distributed MCP servers
- alerting
- Alerting and notification system for MCP servers
- correlation
- Request correlation and distributed tracing for MCP servers
- dashboard
- Custom metrics dashboards for MCP servers
- metrics
- Metrics collection for observability and monitoring
- persistence
- Metrics persistence for historical data
- profiling
- Performance profiling and flame graph generation for MCP servers
- sanitization
- Log sanitization for production builds
- structured
- Enhanced structured logging for better observability
- telemetry
- Simplified OpenTelemetry integration for distributed tracing
Macros§
- profile_function 
- Profiling macro for function timing
- 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§
- LoggingResult 
- Preferred result type alias that doesn’t conflict with std::result::Result
- Result
- Result type for logging operations