6 releases

0.1.5 Jun 3, 2024
0.1.4 Jun 2, 2024

#280 in Debugging

36 downloads per month

MIT license

12KB
116 lines

Quick Tracing

tracing initialization library to easily get started with tracing.

fn main() -> std:io::Result<()> {
     let _guard = quick_tracing::init()?;
     tracing::info!("Hey!");
     Ok(())
 }

Derive

Need to write the following it in Cargo.toml

quick_tracing = { version = "0.1.5", features = ["derive"] }

Attributes

  • test: Sets the test name for the logger. Log output will be written to a file named ../../logs/{test_name}.log.
  • file: Sets the file path for the log output.
  • stdio: Enables standard I/O output for the logger.(default: true)
  • level: Sets the log level filter (e.g., TRACE, DEBUG, INFO, WARN, ERROR).

Examples

#[quick_tracing::init]
fn main() {
    tracing::debug!("Hello, world!");
}
  • Debug mode + Output file

    If there is no parent directory, it will automatically create one.

[!WARNING] Panic is a possibility.

#[quick_tracing::init(level= "DEBUG", file = "./log/test.log", stdio = false)]
fn main() {
    tracing::debug!("Hello, world!");
}
  • non panic + Debug mode + Output file

    If there is no parent directory, it will automatically create one.

#[quick_tracing::try_init(level= "DEBUG", file = "./log/test.log", stdio = false)]
fn main() -> std::io::Result<()> {
    tracing::debug!("Hello, world!");
    Ok(())
}

Dependencies

~2.5–3.5MB
~67K SLoC