ez_logging

Crates.ioez_logging
lib.rsez_logging
version0.1.4
sourcesrc
created_at2024-10-15 20:26:10.128878
updated_at2024-11-20 21:36:04.477189
descriptionA simple, dirt-cheap logging system
homepage
repository
max_upload_size
id1410193
size19,441
Tristan Poland (Trident_For_U) (tristanpoland)

documentation

README

ez_logging

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.

Features

  • 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

Installation

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" }

Usage

  1. Add the following to the root of your main.rs or lib.rs:
#[macro_use]
extern crate ez_logging;
  1. Initialize the logging system at the start of your program:
fn main() {
    ez_logging::init();
    
    // Your code here
}
  1. 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");
  1. Log messages will appear in both the console and a file named server.log in your project directory.

Example

#[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");
}

Output

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

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Commit count: 0

cargo fmt