Skip to content

Homuncoli/logtra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logtra

Publish Version Lint, Build and Test

logtra is a logging library for Rust.

Features

  • Sinks
    • Register a sink
    • Unregister a sink
  • Log
    • Formatting
      • timestamp
      • current ThreadId
      • module
      • severity
      • name of sink
      • file
      • line
      • color
      • message
    • Macro
      • Different Log Intensities
      • Expressions/Evaluations
      • Asserts
        • Evaluating asserts (assert)
        • Conditional logs (cassert)
        • Panicking asserts (passert)

Usage

logtra is almost entirely macro based.

Example

fn main() {
    sink!(
        ConsoleSink::new(
            SinkDeclaration {
                name: "console".to_string(),
                severity: LogSeverity::Trace,
                module: "".to_string(),
                template: "[%t][%c][%[%i%]][%s][%f:%l]: %m\n".to_string(),
            }
        )
    )

    trace!("Hello World: Trace!");
    debug!("Hello World: Debug!");
    info!("Hello World: Info!");
    warn!("Hello World: Warn!");
    error!("Hello World: Error!");
    fatal!("Hello World: Fatal!");
    log!(Info, &obj);
}