Crates.io | ndjsonlogger |
lib.rs | ndjsonlogger |
version | 0.1.0 |
source | src |
created_at | 2022-07-18 09:30:54.799932 |
updated_at | 2022-07-18 09:30:54.799932 |
description | ndjsonlogger |
homepage | https://github.com/flickpp/ndjsonlogger |
repository | https://github.com/flickpp/ndjsonlogger |
max_upload_size | |
id | 627616 |
size | 29,053 |
ndjsonlogger is an nd (newline delimited) json logger.
Rust 1.60 or greater is required.
debug, info, warn and error macros
debug! macro compiles to no-op on release builds
trace macro with trace mask
all JSON primative types (number, bool, null) supported
one level of nested arrays
Option<&[_]>
and &[Option<_>]
compile-time iso timestamp feature
quickstart print log lines to stdout
configurable alternative sinks for log lines
initialize with service name - add to all log lines
custom runtime logic for additional key/value(s)
work with ndjsonloggercore no_std
[dependencies]
ndjsonlogger = "0.1"
ndjsonloggercore = {version = "0.1", features = ["std"]}
NOTE: You must include BOTH lines in your Cargo.toml. Additionally for the 0.1 release, the std feature is required in ndjsonloggercore.
use ndjsonlogger::{info, debug};
fn main() {
info!("hello I'm a log line");
debug!("application closing", {
reason = "end of main function"
});
}}
{"level": "info", "msg": "hello I'm a log line"}
{"level": "debug", "msg": "application closing", "reason": "end of main function"}
An example demonstrating all features is here.
Contributions welcome. Please open a github issue.