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
//! `sdjournal` is a pure Rust systemd journal reader and query engine.
//!
//! It opens `*.journal` files directly and does not depend on `libsystemd` or invoke
//! `journalctl`.
//!
//! # Platform
//!
//! This crate targets Linux journal files. Non-Linux builds are supported for compilation, but
//! [`Journal::open_default`] is Linux-only because it depends on the standard journal locations.
//!
//! # Feature Flags
//!
//! - `mmap` (default): use memory mapping when safe to do so for journal file reads.
//! - `lz4` (default): enable LZ4-compressed DATA payload decoding.
//! - `zstd` (default): enable Zstandard-compressed DATA payload decoding.
//! - `xz`: enable XZ-compressed DATA payload decoding.
//! - `tokio`: enable [`JournalQuery::follow_tokio`] and [`TokioFollow`].
//! - `tracing`: emit diagnostics via the `tracing` ecosystem.
//! - `verify-seal`: enable [`Journal::verify_seal`] for Forward Secure Sealing verification.
//!
//! # Main Types
//!
//! - [`Journal`] opens one or more journal roots and deduplicates journal files.
//! - [`JournalQuery`] builds filters, time bounds, cursor resumes, and follow streams.
//! - [`EntryRef`] exposes zero-copy entry views when possible.
//! - [`EntryOwned`] detaches an entry for storage, async use, or cross-thread transfer.
//! - [`Cursor`] provides checkpoint and resume tokens.
//! - [`Follow`] blocks while tailing new matching entries.
//!
//! # Quick Start
//!
//! ```no_run
//! use sdjournal::Journal;
//!
//! let journal = Journal::open_default()?;
//! let mut query = journal.query();
//! query.match_exact("_SYSTEMD_UNIT", b"sshd.service");
//! query.since_realtime(0);
//!
//! for item in query.iter()? {
//! let entry = item?;
//! if let Some(message) = entry.get("MESSAGE") {
//! println!("{}", String::from_utf8_lossy(message));
//! }
//! }
//! # Ok::<(), sdjournal::SdJournalError>(())
//! ```
pub use crateJournalConfig;
pub use crateCursor;
pub use crate;
pub use crate;
pub use crateFollow;
pub use crateTokioFollow;
pub use crateJournal;
pub use crateJournalQuery;