All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Run cargo-release
to publish a release.
2.2.0 – 2024-10-17
- Use
kv
instead ofunstable_kv
of log.
2.1.1 – 2023-11-15
- Decrease MSRV to 1.66, as actually required (see GH-26).
2.1.0 – 2023-10-19
- Depend on rustix instead of libc to get rid of unsafe code (see GH-24).
2.0.0 – 2023-10-01
JournalLog::new
as default entry point.- Check whether journald listens when constructing a
JournalLog
.
- Remove
libsystemd
dependency, and directly implement journal access. JournalLog::empty
now returnsstd::io::Result<JournalLog>
.JournalLog
should use a lot less allocations on the hot path; in particular all fields are formatted into a single message buffer.JournalLog
no longer has type parameters; extra fields are now pre-formatted upon construction.JournalLog
no longer panics when sending a log record to journald fails; instead it silently discards the error.current_exe_identifier
now returnsOption
instead ofResult
.- Bump MSRV to
1.71.0
.
JournalLog::default
, since instantiation is now fallible.escape_journal_key
, because the logger handles this internally.
1.0.0 – 2023-04-29
- Add
JournalLog::default
, and new setters for extra fields and the syslog identifier (see GH-17). - Add
with_syslog_identifier
to override the syslog identifier (see GH-16 and GH-17).
- Static
LOG
instance. Always create your ownJournalLog
instance now (see GH-17). init
andinit_with_extra_fields
. Create your ownJournalLog
instance now, and callinstall
(see GH-17).
0.7.0 – 2022-12-23
- Bump
libsystemd
dependency to0.6.0
0.6.0 – 2022-12-02
- Bump MRSV to 1.56.0 (see GH-11).
- Update Github URL to https://github.com/swsnr/systemd-journal-logger.rs.
0.5.1 – 2022-10-15
- Move repository, issues, etc. back to https://github.com/swsnr/systemd-journal-logger.rs.
0.5.0 – 2022-01-28
- Move repository, issues, etc. to https://codeberg.org/flausch/systemd-journal-logger.rs.
- Update to libsystemd 0.5.0.
0.4.1 – 2021-11-20
- Bump libsystemd to
0.4.1
to support socket reuse and fix memfd leak.
0.4.0 – 2021-10-28
- Update to
libsystemd
0.4.0, and reexportconnected_to_journal()
from that crate.
- Dependencies on
libc
andnix
.
0.3.1 – 2021-10-06
- Compile on arm7 targets (see GH-7).
0.3.0 – 2021-06-07
- Add
JournalLog::with_extra_fields
andinit_with_extra_fields
to add custom fields to every log entry (see GH-3). - Add new
journal_send
to send an individual log record directly to the systemd journal. - Add new
connected_to_journal
function to check for a direct connection to the systemd log in order to automatically upgrade to journal logging in systemd services (see GH-5). - Add record key values as custom journal fields (see GH-1).
- Do not silently ignore journal errors; instead panic if the logger fails to send a message to the systemd journal.
- Use
CODE_MODULE
field for the Rust module path, for compatibility with theslog-journal
andsystemd
crates.
0.2.0 – 2021-06-01
- Multiline messages are no longer lost (see GH-2), following an update of libsystemd (see libsystemd GH-70 and libsystemd GH-72).
0.1.0 – 2021-05-28 (yanked)
Initial release with systemd_journal_logger::LOG
and systemd_journal_logger::init
.
Do not use this version; it looses multiline messages and has been yanked from crates.io.