ez_logging
is a simple, easy-to-use logging library for Rust projects. It overrides the standard println!
macro to log messages to both the console and a file simultaneously, with automatic timestamping.
- Override
println!
to log messages to console and file simultaneously - Automatic timestamping of log messages
- Thread-safe logging
- Easy integration into existing projects without changing print statements
Add this to your Cargo.toml
:
[dependencies]
ez_logging = { git = "https://github.com/yourusername/ez_logging.git" }
Or, if you're using it as a local dependency:
[dependencies]
ez_logging = { path = "../ez_logging" }
- Add the following to the root of your main.rs or lib.rs:
#[macro_use]
extern crate ez_logging;
- Initialize the logging system at the start of your program:
fn main() {
ez_logging::init();
// Your code here
}
- Use
println!
as you normally would. It will now log to both console and file:
println!("This is a log message");
println!("You can use {} too", "formatting");
- Log messages will appear in both the console and a file named
server.log
in your project directory.
#[macro_use]
extern crate ez_logging;
fn main() {
ez_logging::init();
println!("Starting application");
for i in 1..=5 {
println!("Processing item {}", i);
}
println!("Application finished");
}
Console and server.log
:
[2023-05-20 15:30:45] Logging system initialized
[2023-05-20 15:30:45] Starting application
[2023-05-20 15:30:45] Processing item 1
[2023-05-20 15:30:45] Processing item 2
[2023-05-20 15:30:45] Processing item 3
[2023-05-20 15:30:45] Processing item 4
[2023-05-20 15:30:45] Processing item 5
[2023-05-20 15:30:45] Application finished
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.