mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-04-25 07:09:59 -07:00
43 lines
1.2 KiB
Markdown
43 lines
1.2 KiB
Markdown
# brk_logger
|
|
|
|
Colorized, timestamped logging with optional file output and hooks.
|
|
|
|
## What It Enables
|
|
|
|
Drop-in logging initialization that silences noisy dependencies (bitcoin, fjall, rolldown, ...) while keeping your logs readable with color-coded levels and local timestamps.
|
|
|
|
## Key Features
|
|
|
|
- **Dual output**: Console (colorized) + optional file logging with size-based rotation (42MB, 2 files)
|
|
- **Log hooks**: Register callbacks to intercept log messages programmatically
|
|
- **Sensible defaults**: Pre-configured filters silence common verbose libraries
|
|
- **Timestamp formatting**: Uses system timezone via jiff
|
|
|
|
## Environment Variables
|
|
|
|
- `LOG` - Set log level (default: `info` in release, `debug` in dev). Example: `LOG=debug brk`
|
|
- `RUST_LOG` - Full control over filtering (overrides all defaults)
|
|
|
|
## Core API
|
|
|
|
```rust,ignore
|
|
brk_logger::init(Some(Path::new("app.log")))?; // Console + file
|
|
brk_logger::init(None)?; // Console only
|
|
|
|
brk_logger::register_hook(|msg| {
|
|
// React to log messages
|
|
})?;
|
|
```
|
|
|
|
## Usage
|
|
|
|
```rust,ignore
|
|
use tracing::info;
|
|
|
|
fn main() -> std::io::Result<()> {
|
|
brk_logger::init(None)?;
|
|
info!("Ready");
|
|
Ok(())
|
|
}
|
|
```
|