1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
//! Structured logging pipeline for Rust.
//!
//! `log-io` is an IO pipeline for structured log records. It is not a
//! wrapper around `log` or `tracing`. A record flows through a small
//! number of well-defined stages: filter, format, sink. Each stage is
//! independently composable.
//!
//! # Quick start
//!
//! ```no_run
//! use log_io::{Field, Level, Logger, Value};
//!
//! let logger = Logger::builder()
//! .level(Level::Info)
//! .stdout_json()
//! .build();
//!
//! logger.log(
//! Level::Info,
//! "server started",
//! &[Field::new("port", Value::U64(8080))],
//! );
//! ```
//!
//! # Features
//!
//! * `std` (default): enables IO sinks, file output, async-safe locks,
//! thread-local context propagation, and timestamps. When disabled,
//! the crate compiles in `no_std` mode with only the data model and
//! [`core::fmt::Write`]-based formatters available.
//! * `json` (default): JSON output format.
//! * `logfmt` (default): `key=value` logfmt output format.
//! * `human` (default): human-readable format with aligned columns
//! and RFC 3339 timestamps. `no_std`-compatible.
//!
//! # Design notes
//!
//! The fast path is allocation-free in steady state. [`Record`],
//! [`Field`], and [`Value`] all borrow their data. Formatters
//! serialize directly into a writer; the built-in sinks use a
//! thread-local scratch buffer so per-record formatting does not
//! touch the allocator after the first call.
//!
//! # Stability
//!
//! `1.x.y` releases preserve backwards compatibility. The full public
//! API surface is documented in `REPS.md` section 4 and exhaustively
//! in `docs/API.md`.
/// Crate version string, populated by Cargo at build time.
pub const VERSION: &str = env!;
pub use crate;
pub use crate;
pub use crateValue;
pub use crate;
pub use crateFormat;
pub use crate;
pub use crateSink;
pub use crate;
pub