From cdfeb6cbb5555fd1ae85c52844829c9e534d305d Mon Sep 17 00:00:00 2001 From: lemmus-org Date: Sun, 2 Jul 2023 20:58:46 -0700 Subject: [PATCH] Add feature for enabling json logging --- Cargo.toml | 1 + src/lib.rs | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index f73b6b531f..311f5d7df4 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 cc77ca48f4..f84842fe07 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)