itrace 0.1.1

Structured, columnar tracing for Rust applications
Documentation
// Copyright (c) 2026 Claudio Carraro <wiclac@pm.me>
// SPDX-License-Identifier: BSD-3-Clause

mod builder;
mod color;
mod config;
mod datetime;
mod error;
mod formatter;

pub use builder::Builder;
pub use config::{Alignment, Color, ColumnDef, Config};
pub use error::ItraceError;

/// Inizializza itrace con il tracer "default".
///
/// Legge la configurazione da `<config_dir>/itrace/default.toml`.
///
/// # Esempio
///
/// ```rust,no_run
/// fn main() -> Result<(), itrace::ItraceError> {
///     itrace::init()?;
///     tracing::info!("hello from itrace");
///     Ok(())
/// }
/// ```
pub fn init() -> Result<(), ItraceError> {
    Builder::new().init()
}

/// Restituisce un [`Builder`] per la configurazione avanzata.
///
/// # Esempio
///
/// ```rust,no_run
/// fn main() -> Result<(), itrace::ItraceError> {
///     itrace::builder()
///         .tracer("myapp")
///         .from_env()
///         .init()?;
///     tracing::info!(zone = "eu-west-1", node = "node-01", "Server started");
///     Ok(())
/// }
/// ```
pub fn builder() -> Builder {
    Builder::new()
}