From 1f206e51fba0e353be9cdbef7cfa3c365ea5b248 Mon Sep 17 00:00:00 2001 From: HugoCasa Date: Tue, 7 May 2024 15:57:41 +0200 Subject: [PATCH] feat: disable response logs based on env var (#3685) --- README.md | 1 + backend/windmill-api/src/lib.rs | 24 +++++++++++++++++------- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index da45e240a5..53fbdfde3f 100644 --- a/README.md +++ b/README.md @@ -352,6 +352,7 @@ you to have it being synced automatically everyday. | TIMEOUT_WAIT_RESULT | 20 | The number of seconds to wait before timeout on the 'run_wait_result' endpoint | Worker | | QUEUE_LIMIT_WAIT_RESULT | None | The number of max jobs in the queue before rejecting immediately the request in 'run_wait_result' endpoint. Takes precedence on the query arg. If none is specified, there are no limit. | Worker | | DENO_AUTH_TOKENS | None | Custom DENO_AUTH_TOKENS to pass to worker to allow the use of private modules | Worker | +| DISABLE_RESPONSE_LOGS | false | Disable response logs | Server | ## Run a local dev setup ### only Frontend diff --git a/backend/windmill-api/src/lib.rs b/backend/windmill-api/src/lib.rs index 29ad935447..5aee47e568 100644 --- a/backend/windmill-api/src/lib.rs +++ b/backend/windmill-api/src/lib.rs @@ -141,14 +141,12 @@ pub async fn run_server( )); let argon2 = Arc::new(Argon2::default()); + let disable_response_logs = std::env::var("DISABLE_RESPONSE_LOGS") + .ok() + .map(|x| x == "true") + .unwrap_or(false); + let middleware_stack = ServiceBuilder::new() - .layer( - TraceLayer::new_for_http() - .on_response(MyOnResponse {}) - .make_span_with(MyMakeSpan {}) - .on_request(()) - .on_failure(MyOnFailure {}), - ) .layer(Extension(db.clone())) .layer(Extension(rsmq)) .layer(Extension(user_db)) @@ -285,6 +283,18 @@ pub async fn run_server( .fallback(static_assets::static_handler) .layer(middleware_stack); + let app = if disable_response_logs { + app + } else { + app.layer( + TraceLayer::new_for_http() + .on_response(MyOnResponse {}) + .make_span_with(MyMakeSpan {}) + .on_request(()) + .on_failure(MyOnFailure {}), + ) + }; + let instance_name = rd_string(5); let listener = tokio::net::TcpListener::bind(addr).await.unwrap();