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§
- Archive
Handle - Handle for writing archive records to a dedicated ring buffer.
- InqJet
Builder - Builder for configuring and creating an InqJet logger.
- InqJet
Guard - RAII guard that manages the logger’s background archiver thread.
Enums§
- Backpressure
Mode - Controls producer behavior when the ring buffer is full.
- Color
Mode - Controls ANSI color output.
- InqJet
Builder Error - Errors during logger initialization.
- Level
Filter - Log level filter for configuring maximum verbosity.
Traits§
- Archive
Tag - 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.