| Crates.io | metrics-logger |
| lib.rs | metrics-logger |
| version | 0.22.1 |
| created_at | 2025-04-28 14:11:16.407971+00 |
| updated_at | 2025-04-28 14:11:16.407971+00 |
| description | Logs metrics, for development and testing purposes |
| homepage | |
| repository | https://github.com/Inversed-Tech/MetricsLogger |
| max_upload_size | |
| id | 1652211 |
| size | 24,236 |
metrics-logger is a crate for logging metrics. It aids development and testing by allowing developers to view metrics without setting up a network endpoint.
This is achieved by implementing the Recorder trait from the metrics crate.
metrics crate to avoid version mismatches. The version of metrics-logger matches that of the metrics crate.MetricsLogger requires callbacks to avoid issues with different versions of the log or tracing crates in the user's project.use metrics_logger::{metrics, MetricsLogger, LogMode};
// MetricsLogger implements the Recorder trait
let recorder = MetricsLogger::new(
LogMode::Periodic(10), // Logging interval in seconds
|logs| println!("Metrics: {}", logs), // Logging callback
|err| eprintln!("Error: {}", err), // Error callback
);
// This tells the metrics crate to use your Recorder implementation.
metrics::set_global_recorder(recorder).unwrap();
cmd: Handles commands for updating metrics.handles: Implements metric handles (e.g., counters, gauges, histograms).state: Manages metric state and generates logs.This library re-exports the metrics crate to ensure compatibility with the same version used internally.