/logforth

A versatile and extensible logging implementation.

Primary LanguageRustApache License 2.0Apache-2.0

Logforth Project

Crates.io Documentation MSRV 1.75 Apache 2.0 licensed Build Status

Overview

A versatile and extensible logging implementation.

Usage

Add the dependencies to your Cargo.toml with:

cargo add log
cargo add logforth

... where log is the logging facade and logforth is the logging implementation.

Then, you can use the logger with:

use log::LevelFilter;
use logforth::append;
use logforth::layout::TextLayout;
use logforth::Dispatch;
use logforth::Logger;

fn main() {
    Logger::new().dispatch(
        Dispatch::new()
            .filter(LevelFilter::Trace)
            .layout(TextLayout::default())
            .append(append::Stdout),
        )
        .apply()
        .unwrap();

    log::error!("Hello error!");
    log::warn!("Hello warn!");
    log::info!("Hello info!");
    log::debug!("Hello debug!");
    log::trace!("Hello trace!");
}

Read more demos under the examples directory.

Documentation

Read the online documents at https://docs.rs/logforth.

Supported Rust Versions (MSRV 1.75)

Logforth is built against the latest stable release. The minimum supported version is 1.75. The current Logforth version is not guaranteed to build on Rust versions earlier than the minimum supported version.

When to release a 1.0 version

After one year of practicing the interfaces, if there are no further blockers, I'll release a 1.0 version. So consequently, it can be as early as 2025-08.

License and Origin

This project is licensed under Apache License, Version 2.0.

The name Logforth comes from an antonym to the Logback project.