From 7c88d2e8d2b54a5a726107021ffd475a7d1ef773 Mon Sep 17 00:00:00 2001 From: David Stevens Date: Thu, 27 Jun 2024 10:57:40 +0200 Subject: [PATCH] fix: escape newlines in logged bodies --- Cargo.lock | 2 +- Cargo.toml | 2 +- src/alerts/outbound_webhook.rs | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index caf255d..6d86c2d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1392,7 +1392,7 @@ dependencies = [ [[package]] name = "prodzilla" -version = "0.0.3-rc.3" +version = "0.0.3-rc.4" dependencies = [ "axum 0.7.5", "chrono", diff --git a/Cargo.toml b/Cargo.toml index 979e428..95d44be 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ [package] name = "prodzilla" -version = "0.0.3-rc.3" +version = "0.0.3-rc.4" edition = "2021" [dependencies] diff --git a/src/alerts/outbound_webhook.rs b/src/alerts/outbound_webhook.rs index b3f2a94..ef67c3e 100644 --- a/src/alerts/outbound_webhook.rs +++ b/src/alerts/outbound_webhook.rs @@ -37,11 +37,15 @@ pub async fn alert_if_failure( Some(_) => Some("Redacted".to_owned()), None => None, }; + let log_body = truncated_body + .as_ref() + .unwrap_or(&"N/A".to_owned()) + .replace("\n", "\\n"); warn!( "Probe {probe_name} failed at {failure_timestamp} with trace ID {}. Status code: {}. Error: {error_message}. Body: {}", trace_id.as_ref().unwrap_or(&"N/A".to_owned()), status_code.map_or("N/A".to_owned(), |code| code.to_string()), - truncated_body.as_ref().unwrap_or(&"N/A".to_owned()), + log_body, ); let mut errors = Vec::new(); if let Some(alerts_vec) = alerts {