From 3b2b35aab738875fe07b155d9d97a6fbefca6757 Mon Sep 17 00:00:00 2001
From: Andrej Kacian <andrej@kacian.sk>
Date: Tue, 22 Feb 2022 00:26:53 +0100
Subject: [PATCH] Log caught Ctrl+C or SIGTERM for operator feedback

---
 src/main.rs | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/main.rs b/src/main.rs
index 6aa08704..c49c5ea7 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -37,6 +37,7 @@ use tower_http::{
     trace::TraceLayer,
     ServiceBuilderExt as _,
 };
+use tracing::warn;
 use tracing_subscriber::{prelude::*, EnvFilter};
 
 pub use conduit::*; // Re-export everything from the library crate
@@ -346,11 +347,14 @@ async fn shutdown_signal(handle: ServerHandle) {
     #[cfg(not(unix))]
     let terminate = std::future::pending::<()>();
 
+    let sig: &str;
+
     tokio::select! {
-        _ = ctrl_c => {},
-        _ = terminate => {},
+        _ = ctrl_c => { sig = "Ctrl+C"; },
+        _ = terminate => { sig = "SIGTERM"; },
     }
 
+    warn!("Received {}, shutting down...", sig);
     handle.graceful_shutdown(Some(Duration::from_secs(30)));
 }