Skip to main content

Crate inqjet

Crate inqjet 

Source
Expand description

InqJet — High-performance logging for latency-critical Rust applications.

All log data flows through a nexus-logbuf ring buffer as raw bytes with function pointer dispatch. Formatting happens on a background archiver thread, not the producer.

§Quick Start

use inqjet::{InqJetBuilder, LevelFilter};

let _guard = InqJetBuilder::default()
    .with_writer(std::io::stdout())
    .with_log_level(LevelFilter::Info)
    .build()?;

// Standalone macros — bypass the log facade, direct to logbuf:
inqjet::info!("Server started on port {}", 8080);
inqjet::error!("Connection failed: {}", "timeout");

// log crate macros still work via the bridge (with `log-compat` feature):
log::info!("This also works");

Macros§

debug
Log at the DEBUG level.
error
Log at the ERROR level.
info
Log at the INFO level.
trace
Log at the TRACE level.
warn
Log at the WARN level.

Structs§

ArchiveHandle
Handle for writing archive records to a dedicated ring buffer.
InqJetBuilder
Builder for configuring and creating an InqJet logger.
InqJetGuard
RAII guard that manages the logger’s background archiver thread.

Enums§

BackpressureMode
Controls producer behavior when the ring buffer is full.
ColorMode
Controls ANSI color output.
InqJetBuilderError
Errors during logger initialization.
LevelFilter
Log level filter for configuring maximum verbosity.

Traits§

ArchiveTag
Marker trait for archive record tags.
Pod
Marker trait for types safe to log as raw bytes via memcpy.

Functions§

reserve_fallback_capacity
Pre-allocates the thread-local fallback formatting buffer.
set_level
Updates the global log level at runtime.

Derive Macros§

Pod
Derive macro for inqjet::Pod.