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§
- Logging
Error - Logging error types
Traits§
- Error
Classification - Generic error trait for classification
Type Aliases§
- Result
- Result type for logging operations