Crates.io | ironlog |
lib.rs | ironlog |
version | 0.2.7 |
source | src |
created_at | 2024-09-30 21:26:48.381601 |
updated_at | 2024-10-18 18:04:42.472196 |
description | A web logger for multi-node system logging |
homepage | |
repository | https://github.com/heety313/ironlog |
max_upload_size | |
id | 1392224 |
size | 12,062,873 |
Robust, Multi-Nodal, Real-time Logging for Any Language
Key Features • Quick Start • Usage • Why IronLog? • Contributing • License • Credits
IronLog is a high-performance, real-time logging solution for Rust applications. Built with reliability and ease-of-use in mind, IronLog empowers developers to gain instant insights into their applications' behavior.
IronLog's intuitive web interface for real-time log viewing and analysis
Run the log storage and server:
cargo install ironlog
ironlog #leave this running in the background or make it a systemd service
Add IronLog to your Cargo.toml
:
[dependencies]
ironlog = "0.2.6"
Initialize IronLog in your main.rs:
use ironlog::TcpLogger;
fn main() {
TcpLogger::init("127.0.0.1:5000", "your-app-name", log::LevelFilter::Info).unwrap();
log::info!("Application started"); //will show up in the web interface
}
Open your browser and navigate to http://127.0.0.1:8000
to view the logs.
ESP32 Client Library (Arduino & Platformio)
If you dont want to interfear with the default logging in rust or setup multiple loggers in the same program you can do so like this.
use ironlog::TcpLogger;
fn main() {
// Create an instance-specific logger
let my_logger = TcpLogger::new("127.0.0.1:5000", "instance_hash", false).unwrap();
// Use instance-specific logger
my_logger.info("This is an instance-specific log");
}
IronLog seamlessly integrates with Rust's standard logging facade. Use it just like you would use log
:
IronLog was created to address the common challenge of managing logs across multiple programs in complex systems. It provides a centralized, efficient solution for developers who need to debug and monitor various applications simultaneously, eliminating the need to create custom parsers or juggle multiple logging tools. With IronLog, you can streamline your logging process, enhance your debugging efficiency, and gain valuable insights into your distributed systems with ease.
Contributions are welcome. If you have an improvement or bug fix, please submit a pull request. Ensure your code is well-tested. We'll review and merge contributions that enhance IronLog's functionality or reliability.
This project is licensed under the MIT License. See the LICENSE file for details.