feat: make tracing-journald dependency optional

Fixes #2466
This commit is contained in:
Anthony T. Lannutti 2026-06-13 16:33:51 -05:00 • committed by Victoria Brekenfeld
parent 895ce91543
commit 3d55cba06c
2 changed files with 12 additions and 3 deletions

View file

@ -62,7 +62,7 @@ tracing = { version = "0.1.44", features = [
"max_level_debug", "max_level_debug",
"release_max_level_info", "release_max_level_info",
] } ] }
tracing-journald = "0.3.2" tracing-journald = { version = "0.3.2", optional = true }
tracing-subscriber = { version = "0.3.22", features = [ tracing-subscriber = { version = "0.3.22", features = [
"env-filter", "env-filter",
"tracing-log", "tracing-log",
@ -122,7 +122,7 @@ optional = true
debug = ["egui", "egui_plot", "smithay-egui", "anyhow/backtrace"] debug = ["egui", "egui_plot", "smithay-egui", "anyhow/backtrace"]
default = ["systemd"] default = ["systemd"]
logind = ["logind-zbus"] logind = ["logind-zbus"]
systemd = ["libsystemd", "logind"] systemd = ["libsystemd", "logind", "tracing-journald"]
profile-with-tracy = ["profiling/profile-with-tracy", "tracy-client/default"] profile-with-tracy = ["profiling/profile-with-tracy", "tracy-client/default"]
profile-with-tracy-gpu = ["profile-with-tracy", "smithay/tracy_gpu_profiling"] profile-with-tracy-gpu = ["profile-with-tracy", "smithay/tracy_gpu_profiling"]

View file

@ -4,7 +4,10 @@ use std::str::FromStr;
use anyhow::Result; use anyhow::Result;
use tracing::{debug, info, warn}; #[cfg(feature = "systemd")]
use tracing::warn;
use tracing::{debug, info};
#[cfg(feature = "systemd")]
use tracing_journald as journald; use tracing_journald as journald;
use tracing_subscriber::{EnvFilter, filter::Directive, fmt, prelude::*}; use tracing_subscriber::{EnvFilter, filter::Directive, fmt, prelude::*};
@ -29,6 +32,7 @@ pub fn init_logger() -> Result<()> {
let fmt_layer = fmt::layer().compact(); let fmt_layer = fmt::layer().compact();
#[cfg(feature = "systemd")]
match journald::layer() { match journald::layer() {
Ok(journald_layer) => tracing_subscriber::registry() Ok(journald_layer) => tracing_subscriber::registry()
.with(fmt_layer) .with(fmt_layer)
@ -43,6 +47,11 @@ pub fn init_logger() -> Result<()> {
warn!(?err, "Failed to init journald logging."); warn!(?err, "Failed to init journald logging.");
} }
}; };
#[cfg(not(feature = "systemd"))]
tracing_subscriber::registry()
.with(fmt_layer)
.with(filter)
.init();
log_panics::init(); log_panics::init();
info!("Version: {}", std::env!("CARGO_PKG_VERSION")); info!("Version: {}", std::env!("CARGO_PKG_VERSION"));