diff --git a/Cargo.toml b/Cargo.toml index f73b6b531..311f5d7df 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,6 +27,7 @@ lto = "thin" [features] embed-pictrs = ["pict-rs"] console = ["console-subscriber", "opentelemetry", "opentelemetry-otlp", "tracing-opentelemetry", "reqwest-tracing/opentelemetry_0_16"] +json-log = ["tracing-subscriber/json"] default = [] [workspace] diff --git a/src/lib.rs b/src/lib.rs index cc77ca48f..f84842fe0 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -185,7 +185,14 @@ pub fn init_logging(opentelemetry_url: &Option) -> Result<(), LemmyError> { .trim_matches('"') .parse::()?; - let format_layer = tracing_subscriber::fmt::layer().with_filter(targets.clone()); + let format_layer = { + #[cfg(feature = "json-log")] + let layer = tracing_subscriber::fmt::layer().json(); + #[cfg(not(feature = "json-log"))] + let layer = tracing_subscriber::fmt::layer(); + + layer.with_filter(targets.clone()) + }; let subscriber = Registry::default() .with(format_layer)