Repository: jetty/jetty.project (2026-03-25T17:11:35Z)

Issue:
Revert usage of SLF4J2 fluent APIs
**Jetty version(s)**
12.1.x

**Description**
The use of SLF4J2 fluent API was introduced in Jetty 12.1.4 due to #13883, which was a Log4J2 bug that has since been fixed (but not released yet, see https://github.com/jetty/jetty.project/issues/13883#issuecomment-4127262073.

Unfortunately, the usage of the fluent API causes a lot of compatibility issues:

* Kafka 4 cannot update to Jetty 12.1.x
* #14434 
* #14535 
* The Jetty Maven plugins are broken because Maven 3 still uses SLF4J 1.7.x, and does not isolate it from the plugin dependencies, so running the Jetty Maven plugins results in errors. Maven 4, currently in release candidate phase, uses SLF4J 2.

Consensus is that we should revert back to non-fluent APIs, that are SLF4J 1.7.x compliant, so that Jetty can still continue to use SLF4J 2, but other projects that are behind and still use SLF4J 1.7.x won't be affected.
This would cause Log4J2 users to see the warning reported in #13883, but it is a Log4J2 bug, and it is clear now that Jetty cannot use the fluent APIs.

For Jetty 13.0.x, there is a chance that Maven 4 will be released, but adoption won't be massive, so it will be safer to stay on non-fluent APIs.


Discussion:

Patch:
diff --git a/jetty-core/jetty-alpn/jetty-alpn-bouncycastle-server/src/main/java/org/eclipse/jetty/alpn/bouncycastle/server/BouncyCastleServerALPNProcessor.java b/jetty-core/jetty-alpn/jetty-alpn-bouncycastle-server/src/main/java/org/eclipse/jetty/alpn/bouncycastle/server/BouncyCastleServerALPNProcessor.java
index 9ab99d87552..7cb6894deeb 100644
--- a/jetty-core/jetty-alpn/jetty-alpn-bouncycastle-server/src/main/java/org/eclipse/jetty/alpn/bouncycastle/server/BouncyCastleServerALPNProcessor.java
+++ b/jetty-core/jetty-alpn/jetty-alpn-bouncycastle-server/src/main/java/org/eclipse/jetty/alpn/bouncycastle/server/BouncyCastleServerALPNProcessor.java
@@ -84,7 +84,7 @@ public void handshakeSucceeded(Event event)
         public void handshakeFailed(Event event, Throwable failure)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("TLS handshake failed {}", alpnConnection);
+                LOG.debug("TLS handshake failed {}", alpnConnection, failure);
         }
     }
 }
diff --git a/jetty-core/jetty-alpn/jetty-alpn-client/src/main/java/org/eclipse/jetty/alpn/client/ALPNClientConnectionFactory.java b/jetty-core/jetty-alpn/jetty-alpn-client/src/main/java/org/eclipse/jetty/alpn/client/ALPNClientConnectionFactory.java
index 8ed42043539..8ed9bcdef19 100644
--- a/jetty-core/jetty-alpn/jetty-alpn-client/src/main/java/org/eclipse/jetty/alpn/client/ALPNClientConnectionFactory.java
+++ b/jetty-core/jetty-alpn/jetty-alpn-client/src/main/java/org/eclipse/jetty/alpn/client/ALPNClientConnectionFactory.java
@@ -58,7 +58,7 @@ public ALPNClientConnectionFactory(Executor executor, ClientConnectionFactory co
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Unable to load client processor");
+                    LOG.debug("Unable to load client processor", x);
                 failure.addSuppressed(x);
                 return;
             }
@@ -71,7 +71,7 @@ public ALPNClientConnectionFactory(Executor executor, ClientConnectionFactory co
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Could not initialize {}", processor);
+                    LOG.debug("Could not initialize {}", processor, x);
                 failure.addSuppressed(x);
             }
         });
diff --git a/jetty-core/jetty-alpn/jetty-alpn-conscrypt-server/src/main/java/org/eclipse/jetty/alpn/conscrypt/server/ConscryptServerALPNProcessor.java b/jetty-core/jetty-alpn/jetty-alpn-conscrypt-server/src/main/java/org/eclipse/jetty/alpn/conscrypt/server/ConscryptServerALPNProcessor.java
index 1d34feb782d..46f6453315a 100644
--- a/jetty-core/jetty-alpn/jetty-alpn-conscrypt-server/src/main/java/org/eclipse/jetty/alpn/conscrypt/server/ConscryptServerALPNProcessor.java
+++ b/jetty-core/jetty-alpn/jetty-alpn-conscrypt-server/src/main/java/org/eclipse/jetty/alpn/conscrypt/server/ConscryptServerALPNProcessor.java
@@ -108,7 +108,7 @@ public void handshakeSucceeded(Event event)
         public void handshakeFailed(Event event, Throwable failure)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("TLS handshake failed {}", alpnConnection);
+                LOG.debug("TLS handshake failed {}", alpnConnection, failure);
         }
     }
 }
diff --git a/jetty-core/jetty-alpn/jetty-alpn-java-server/src/main/java/org/eclipse/jetty/alpn/java/server/JDK9ServerALPNProcessor.java b/jetty-core/jetty-alpn/jetty-alpn-java-server/src/main/java/org/eclipse/jetty/alpn/java/server/JDK9ServerALPNProcessor.java
index 074859f081c..d8cbb77f9d8 100644
--- a/jetty-core/jetty-alpn/jetty-alpn-java-server/src/main/java/org/eclipse/jetty/alpn/java/server/JDK9ServerALPNProcessor.java
+++ b/jetty-core/jetty-alpn/jetty-alpn-java-server/src/main/java/org/eclipse/jetty/alpn/java/server/JDK9ServerALPNProcessor.java
@@ -93,7 +93,7 @@ public void handshakeSucceeded(Event event)
         public void handshakeFailed(Event event, Throwable failure)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("TLS handshake failed {}", alpnConnection);
+                LOG.debug("TLS handshake failed {}", alpnConnection, failure);
         }
     }
 }
diff --git a/jetty-core/jetty-alpn/jetty-alpn-server/src/main/java/org/eclipse/jetty/alpn/server/ALPNServerConnectionFactory.java b/jetty-core/jetty-alpn/jetty-alpn-server/src/main/java/org/eclipse/jetty/alpn/server/ALPNServerConnectionFactory.java
index f720beacab3..c42415836ce 100644
--- a/jetty-core/jetty-alpn/jetty-alpn-server/src/main/java/org/eclipse/jetty/alpn/server/ALPNServerConnectionFactory.java
+++ b/jetty-core/jetty-alpn/jetty-alpn-server/src/main/java/org/eclipse/jetty/alpn/server/ALPNServerConnectionFactory.java
@@ -56,7 +56,7 @@ public ALPNServerConnectionFactory(@Name("protocols") String... protocols)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log(x.getMessage());
+                    LOG.debug("Could not instantiate ALPNProcessor.Server", x);
                 if (x != failure)
                     failure.addSuppressed(x);
                 return;
@@ -70,7 +70,7 @@ public ALPNServerConnectionFactory(@Name("protocols") String... protocols)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Could not initialize {}", processor);
+                    LOG.debug("Could not initialize {}", processor, x);
                 if (x != failure)
                     failure.addSuppressed(x);
             }
diff --git a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/AbstractConnectionPool.java b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/AbstractConnectionPool.java
index 4952ccee0fa..d0f1842b548 100644
--- a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/AbstractConnectionPool.java
+++ b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/AbstractConnectionPool.java
@@ -585,7 +585,7 @@ public void succeeded(Connection connection)
         public void failed(Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Connection creation failed {}", reserved);
+                LOG.debug("Connection creation failed {}", reserved, x);
             pending.decrementAndGet();
             reserved.remove();
             super.failed(x);
diff --git a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/AuthenticationProtocolHandler.java b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/AuthenticationProtocolHandler.java
index 761316f32f1..633bff2e78f 100644
--- a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/AuthenticationProtocolHandler.java
+++ b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/AuthenticationProtocolHandler.java
@@ -238,7 +238,7 @@ public void onComplete(Result result)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Authentication failed");
+                    LOG.debug("Authentication failed", x);
                 forwardFailureComplete(request, null, response, x);
             }
         }
diff --git a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/InputStreamResponseListener.java b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/InputStreamResponseListener.java
index 9ad8cefa571..1a2d6390394 100644
--- a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/InputStreamResponseListener.java
+++ b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/InputStreamResponseListener.java
@@ -157,7 +157,7 @@ public void onFailure(Response response, Throwable failure)
         }
 
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("Content failure");
+            LOG.debug("Content failure", failure);
 
         chunkCallbacks.forEach(chunkCallback -> chunkCallback.releaseAndFail(failure));
     }
@@ -186,7 +186,7 @@ public void onComplete(Result result)
             if (failure == null)
                 LOG.debug("Result success");
             else
-                LOG.atDebug().setCause(failure).log("Result failure");
+                LOG.debug("Result failure", failure);
         }
 
         chunkCallbacks.forEach(t -> t.releaseAndFail(failure));
diff --git a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/Socks4Proxy.java b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/Socks4Proxy.java
index 217f2bce0d5..eba3490665b 100644
--- a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/Socks4Proxy.java
+++ b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/Socks4Proxy.java
@@ -162,7 +162,7 @@ public void succeeded()
         public void failed(Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("SOCKS4 failure");
+                LOG.debug("SOCKS4 failure", x);
             getEndPoint().close(x);
             @SuppressWarnings("unchecked")
             Promise<Connection> promise = (Promise<Connection>)context.get(Connection.PROMISE_CONTEXT_KEY);
diff --git a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/Socks5Proxy.java b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/Socks5Proxy.java
index f29388fdad2..d817f2d3dbf 100644
--- a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/Socks5Proxy.java
+++ b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/Socks5Proxy.java
@@ -190,7 +190,7 @@ private void handshakeSent()
         private void fail(Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("SOCKS5 failure");
+                LOG.debug("SOCKS5 failure", x);
             getEndPoint().close(x);
             @SuppressWarnings("unchecked")
             Promise<Connection> promise = (Promise<Connection>)this.context.get(Connection.PROMISE_CONTEXT_KEY);
diff --git a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/HttpDestination.java b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/HttpDestination.java
index 8421f52eedb..b42033d4701 100644
--- a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/HttpDestination.java
+++ b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/HttpDestination.java
@@ -399,7 +399,7 @@ private boolean process(Connection connection)
         if (cause != null)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("Aborted before processing {}", exchange);
+                LOG.debug("Aborted before processing {}", exchange, cause);
             // It may happen that the request is aborted before the exchange
             // is created. Aborting the exchange a second time will result in
             // a no-operation, so we just abort here to cover that edge case.
diff --git a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/HttpExchange.java b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/HttpExchange.java
index 97994a5621f..10d455bb4bb 100644
--- a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/HttpExchange.java
+++ b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/HttpExchange.java
@@ -264,7 +264,7 @@ public void abort(Throwable failure, Promise<Boolean> promise)
         }
 
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("Failed {}: req={}/rsp={}", this, abortRequest, abortResponse);
+            LOG.debug("Failed {}: req={}/rsp={}", this, abortRequest, abortResponse, failure);
 
         // We failed this exchange, deal with it.
 
@@ -283,7 +283,7 @@ public void abort(Throwable failure, Promise<Boolean> promise)
         if (destination.remove(this))
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("Aborting while queued {}", this);
+                LOG.debug("Aborting while queued {}", this, failure);
             notifyFailureComplete(failure);
             promise.succeeded(true);
             return;
@@ -293,7 +293,7 @@ public void abort(Throwable failure, Promise<Boolean> promise)
         {
             // Case #2: exchange was not yet associated.
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("Aborting before association {}", this);
+                LOG.debug("Aborting before association {}", this, failure);
             notifyFailureComplete(failure);
             promise.succeeded(true);
             return;
@@ -301,7 +301,7 @@ public void abort(Throwable failure, Promise<Boolean> promise)
 
         // Case #3: exchange was already associated.
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("Aborting while active {}", this);
+            LOG.debug("Aborting while active {}", this, failure);
         channel.abort(this, abortRequest ? failure : null, abortResponse ? failure : null, promise);
     }
 
diff --git a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/HttpReceiver.java b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/HttpReceiver.java
index 4de6456722d..6a95b055a98 100644
--- a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/HttpReceiver.java
+++ b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/HttpReceiver.java
@@ -500,7 +500,7 @@ private void cleanup()
     public void abort(HttpExchange exchange, Throwable failure, Promise<Boolean> promise)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("Invoking abort for {} on {}", exchange, this);
+            LOG.debug("Invoking abort for {} on {}", exchange, this, failure);
 
         if (!exchange.isResponseCompleteOrTerminated())
             throw new IllegalStateException();
diff --git a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/HttpSender.java b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/HttpSender.java
index 7072c774d84..6124e1dcbe9 100644
--- a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/HttpSender.java
+++ b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/HttpSender.java
@@ -209,7 +209,7 @@ private boolean failRequest(Throwable failure)
             return false;
 
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("Request failure {}, response {}", exchange.getRequest(), exchange.getResponse());
+            LOG.debug("Request failure {}, response {}", exchange.getRequest(), exchange.getResponse(), failure);
 
         // Mark atomically the request as completed, with respect
         // to concurrency between request success and request failure.
@@ -226,7 +226,7 @@ private void executeAbort(HttpExchange exchange, Throwable failure)
         catch (RejectedExecutionException x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Exchange aborted {}", exchange);
+                LOG.debug("Exchange aborted {}", exchange, x);
             abort(exchange, failure, Promise.noop());
         }
     }
@@ -243,7 +243,7 @@ private void abortRequest(HttpExchange exchange)
         dispose();
 
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("Request abort {} {} on {}", request, exchange, getHttpChannel());
+            LOG.debug("Request abort {} {} on {}", request, exchange, getHttpChannel(), failure);
         request.notifyFailure(failure);
 
         // Mark atomically the request as terminated, with
diff --git a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/internal/HttpReceiverOverHTTP.java b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/internal/HttpReceiverOverHTTP.java
index 1ce29f9cac7..59d8e753292 100644
--- a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/internal/HttpReceiverOverHTTP.java
+++ b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/internal/HttpReceiverOverHTTP.java
@@ -297,7 +297,7 @@ else if (read == 0)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Error processing {} in {}", endPoint, this);
+                LOG.debug("Error processing {} in {}", endPoint, this, x);
             releaseNetworkBuffer();
             failAndClose(x);
             return false;
diff --git a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/internal/HttpSenderOverHTTP.java b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/internal/HttpSenderOverHTTP.java
index e46f2559354..7486f58d8ca 100644
--- a/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/internal/HttpSenderOverHTTP.java
+++ b/jetty-core/jetty-client/src/main/java/org/eclipse/jetty/client/transport/internal/HttpSenderOverHTTP.java
@@ -84,7 +84,7 @@ protected void sendHeaders(HttpExchange exchange, ByteBuffer contentBuffer, bool
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Unable to send headers on exchange {}", exchange);
+                LOG.debug("Unable to send headers on exchange {}", exchange, x);
             callback.failed(x);
         }
     }
@@ -104,7 +104,7 @@ protected void sendContent(HttpExchange exchange, ByteBuffer contentBuffer, bool
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Unable to send content on {}", exchange);
+                LOG.debug("Unable to send content on {}", exchange, x);
             callback.failed(x);
         }
     }
diff --git a/jetty-core/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/StandardDeployer.java b/jetty-core/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/StandardDeployer.java
index fef0bc3c375..6ee154cb9b0 100644
--- a/jetty-core/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/StandardDeployer.java
+++ b/jetty-core/jetty-deploy/src/main/java/org/eclipse/jetty/deploy/StandardDeployer.java
@@ -121,7 +121,7 @@ public void deploy(ContextHandler contextHandler)
         catch (Throwable t)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(t).log("{} Deploy failed {}", this, contextHandler);
+                LOG.debug("{} Deploy failed {}", this, contextHandler, t);
 
             ExceptionUtil.ifExceptionThrowUnchecked(t);
         }
@@ -153,7 +153,7 @@ public void redeploy(ContextHandler oldHandler, ContextHandler newContextHandler
         catch (Throwable t)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(t).log("{} Redeploy failed {}", this, newContextHandler);
+                LOG.debug("{} Redeploy failed {}", this, newContextHandler, t);
 
             ExceptionUtil.ifExceptionThrowUnchecked(t);
         }
diff --git a/jetty-core/jetty-fcgi/jetty-fcgi-client/src/main/java/org/eclipse/jetty/fcgi/client/transport/internal/HttpConnectionOverFCGI.java b/jetty-core/jetty-fcgi/jetty-fcgi-client/src/main/java/org/eclipse/jetty/fcgi/client/transport/internal/HttpConnectionOverFCGI.java
index 4a874ad4e1e..c40f8d6032c 100644
--- a/jetty-core/jetty-fcgi/jetty-fcgi-client/src/main/java/org/eclipse/jetty/fcgi/client/transport/internal/HttpConnectionOverFCGI.java
+++ b/jetty-core/jetty-fcgi/jetty-fcgi-client/src/main/java/org/eclipse/jetty/fcgi/client/transport/internal/HttpConnectionOverFCGI.java
@@ -239,7 +239,7 @@ else if (read < 0)
         catch (Exception x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Unable to fill from endpoint {}", endPoint);
+                LOG.debug("Unable to fill from endpoint {}", endPoint, x);
             close(x);
             return false;
         }
@@ -528,7 +528,7 @@ public boolean onEnd(int request)
         public void onFailure(int request, Throwable failure)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("onFailure request={}", request);
+                LOG.debug("onFailure request={}", request, failure);
             failAndClose(failure);
         }
     }
diff --git a/jetty-core/jetty-fcgi/jetty-fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ParamsContentParser.java b/jetty-core/jetty-fcgi/jetty-fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ParamsContentParser.java
index 7709139b00f..4e6cbd11960 100644
--- a/jetty-core/jetty-fcgi/jetty-fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ParamsContentParser.java
+++ b/jetty-core/jetty-fcgi/jetty-fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ParamsContentParser.java
@@ -241,7 +241,7 @@ protected void onParam(String name, String value)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Exception while invoking listener {}", listener);
+                LOG.debug("Exception while invoking listener {}", listener, x);
         }
     }
 
@@ -254,7 +254,7 @@ protected boolean onParams()
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Exception while invoking listener {}", listener);
+                LOG.debug("Exception while invoking listener {}", listener, x);
             return false;
         }
     }
diff --git a/jetty-core/jetty-fcgi/jetty-fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ResponseContentParser.java b/jetty-core/jetty-fcgi/jetty-fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ResponseContentParser.java
index 7826d296773..85eec1b85ba 100644
--- a/jetty-core/jetty-fcgi/jetty-fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ResponseContentParser.java
+++ b/jetty-core/jetty-fcgi/jetty-fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ResponseContentParser.java
@@ -187,7 +187,7 @@ public void parsedHeader(HttpField httpField)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Exception while invoking listener {}", listener);
+                    LOG.debug("Exception while invoking listener {}", listener, x);
             }
         }
 
@@ -200,7 +200,7 @@ private void notifyBegin(int code, String reason)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Exception while invoking listener {}", listener);
+                    LOG.debug("Exception while invoking listener {}", listener, x);
             }
         }
 
@@ -213,7 +213,7 @@ private void notifyHeader(HttpField httpField)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Exception while invoking listener {}", listener);
+                    LOG.debug("Exception while invoking listener {}", listener, x);
             }
         }
 
@@ -237,7 +237,7 @@ private boolean notifyHeaders()
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Exception while invoking listener {}", listener);
+                    LOG.debug("Exception while invoking listener {}", listener, x);
                 return false;
             }
         }
@@ -273,7 +273,7 @@ private boolean notifyContent(ByteBuffer buffer)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Exception while invoking listener {}", listener);
+                    LOG.debug("Exception while invoking listener {}", listener, x);
                 return false;
             }
         }
@@ -313,7 +313,7 @@ protected void fail(Throwable failure)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Exception while invoking listener {}", listener);
+                    LOG.debug("Exception while invoking listener {}", listener, x);
             }
         }
     }
diff --git a/jetty-core/jetty-fcgi/jetty-fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/StreamContentParser.java b/jetty-core/jetty-fcgi/jetty-fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/StreamContentParser.java
index 8708f1b85d4..f022b376114 100644
--- a/jetty-core/jetty-fcgi/jetty-fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/StreamContentParser.java
+++ b/jetty-core/jetty-fcgi/jetty-fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/StreamContentParser.java
@@ -92,7 +92,7 @@ public boolean noContent()
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Exception while invoking listener {}", listener);
+                LOG.debug("Exception while invoking listener {}", listener, x);
             return false;
         }
     }
@@ -108,7 +108,7 @@ protected boolean onContent(ByteBuffer buffer)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Exception while invoking listener {}", listener);
+                LOG.debug("Exception while invoking listener {}", listener, x);
             return false;
         }
     }
diff --git a/jetty-core/jetty-fcgi/jetty-fcgi-server/src/main/java/org/eclipse/jetty/fcgi/server/internal/ServerFCGIConnection.java b/jetty-core/jetty-fcgi/jetty-fcgi-server/src/main/java/org/eclipse/jetty/fcgi/server/internal/ServerFCGIConnection.java
index 208e2926ba0..b0460dd7c62 100644
--- a/jetty-core/jetty-fcgi/jetty-fcgi-server/src/main/java/org/eclipse/jetty/fcgi/server/internal/ServerFCGIConnection.java
+++ b/jetty-core/jetty-fcgi/jetty-fcgi-server/src/main/java/org/eclipse/jetty/fcgi/server/internal/ServerFCGIConnection.java
@@ -211,7 +211,7 @@ else if (read == 0)
         catch (Exception x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Unable to fill endpoint");
+                LOG.debug("Unable to fill endpoint", x);
             inputBuffer.clear();
             releaseInputBuffer();
             // TODO: fail and close ?
@@ -284,7 +284,7 @@ private int fillInputBuffer()
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Could not fill from {}", this);
+                LOG.debug("Could not fill from {}", this, x);
             return -1;
         }
     }
@@ -404,7 +404,7 @@ public boolean onEnd(int request)
         public void onFailure(int request, Throwable failure)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("Request {} failure on {}", request, stream);
+                LOG.debug("Request {} failure on {}", request, stream, failure);
             if (stream != null)
                 ThreadPool.executeImmediately(getExecutor(), stream.getHttpChannel().onFailure(new HttpException.IllegalStateException(HttpStatus.BAD_REQUEST_400, null, failure)));
             stream = null;
diff --git a/jetty-core/jetty-http-spi/src/main/java/org/eclipse/jetty/http/spi/HttpSpiContextHandler.java b/jetty-core/jetty-http-spi/src/main/java/org/eclipse/jetty/http/spi/HttpSpiContextHandler.java
index 8439cc98040..8b96b5da96a 100644
--- a/jetty-core/jetty-http-spi/src/main/java/org/eclipse/jetty/http/spi/HttpSpiContextHandler.java
+++ b/jetty-core/jetty-http-spi/src/main/java/org/eclipse/jetty/http/spi/HttpSpiContextHandler.java
@@ -68,7 +68,7 @@ public boolean handle(Request request, Response response, Callback callback)
                 catch (Throwable t)
                 {
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(t).log("Failed to handle");
+                        LOG.debug("Failed to handle", t);
                     Response.writeError(request, response, callback, 500, null, t);
                 }
                 return true;
diff --git a/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/ByteRange.java b/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/ByteRange.java
index c062d346f2f..699bfeb0c3d 100644
--- a/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/ByteRange.java
+++ b/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/ByteRange.java
@@ -155,7 +155,7 @@ public static List<ByteRange> parse(List<String> headers, long length)
                 catch (Throwable x)
                 {
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(x).log("could not parse range {}", header);
+                        LOG.debug("could not parse range {}", header, x);
                 }
             }
         }
diff --git a/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/ComplianceUtils.java b/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/ComplianceUtils.java
index 1530a929461..7bc1944eaa4 100644
--- a/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/ComplianceUtils.java
+++ b/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/ComplianceUtils.java
@@ -82,7 +82,7 @@ public static void notify(ComplianceViolation.Listener complianceListener, Compl
         if (complianceListener == null)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().log("Unable to notify null ComplianceViolation.Listener of {}", event);
+                LOG.debug("Unable to notify null ComplianceViolation.Listener of {}", event);
             return;
         }
 
@@ -93,7 +93,7 @@ public static void notify(ComplianceViolation.Listener complianceListener, Compl
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Failure while notifying listener {} of event {}", complianceListener, event);
+                LOG.debug("Failure while notifying listener {} of event {}", complianceListener, event, x);
         }
     }
 
diff --git a/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/HttpDateTime.java b/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/HttpDateTime.java
index a5a61427d5d..efc65f29fd6 100644
--- a/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/HttpDateTime.java
+++ b/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/HttpDateTime.java
@@ -185,7 +185,7 @@ else if (token.length() == 4)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Ignore: Unable to parse Date/Time");
+                LOG.debug("Ignore: Unable to parse Date/Time", x);
         }
 
         // RFC 6265 - Section 5.1.1 - Step 3
diff --git a/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java b/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java
index 30bf83143ec..3f9a6ea2416 100644
--- a/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java
+++ b/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/HttpParser.java
@@ -1856,7 +1856,7 @@ else if (isTerminated())
     protected void badMessage(HttpException x)
     {
         if (debugEnabled)
-            LOG.atDebug().setCause((Throwable)x).log("Parse exception: {} for {}", this, _handler);
+            LOG.debug("Parse exception: {} for {}", this, _handler, x);
         setState(State.CLOSE);
         if (_headerComplete)
             _handler.earlyEOF();
diff --git a/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/MultiPart.java b/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/MultiPart.java
index 16d7059b6e6..a2c5f2df7d4 100644
--- a/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/MultiPart.java
+++ b/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/MultiPart.java
@@ -477,7 +477,7 @@ public void fail(Throwable t)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Error closing part {}", this);
+                    LOG.debug("Error closing part {}", this, x);
             }
         }
     }
@@ -1315,7 +1315,7 @@ else if (type != HttpTokens.Type.SPACE && type != HttpTokens.Type.HTAB)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("parse failure {} {}", state, BufferUtil.toDetailString(buffer));
+                    LOG.debug("parse failure {} {}", state, BufferUtil.toDetailString(buffer), x);
                 buffer.position(buffer.limit());
                 notifyEndOfLineViolations();
                 notifyFailure(x);
@@ -1715,7 +1715,7 @@ private void notifyPartBegin()
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                    LOG.debug("failure while notifying listener {}", listener, x);
             }
         }
 
@@ -1728,7 +1728,7 @@ private void notifyPartHeader(String name, String value)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                    LOG.debug("failure while notifying listener {}", listener, x);
             }
         }
 
@@ -1741,7 +1741,7 @@ private void notifyPartHeaders()
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                    LOG.debug("failure while notifying listener {}", listener, x);
             }
         }
 
@@ -1754,7 +1754,7 @@ private void notifyPartContent(Content.Chunk chunk)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                    LOG.debug("failure while notifying listener {}", listener, x);
             }
         }
 
@@ -1767,7 +1767,7 @@ private void notifyPartEnd()
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                    LOG.debug("failure while notifying listener {}", listener, x);
             }
         }
 
@@ -1780,7 +1780,7 @@ private void notifyComplete()
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                    LOG.debug("failure while notifying listener {}", listener, x);
             }
         }
 
@@ -1793,7 +1793,7 @@ private void notifyFailure(Throwable failure)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                    LOG.debug("failure while notifying listener {}", listener, x);
             }
         }
 
@@ -1826,7 +1826,7 @@ private void notifyViolation(MultiPartCompliance.Violation violation)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                    LOG.debug("failure while notifying listener {}", listener, x);
             }
         }
 
@@ -2026,7 +2026,7 @@ private void notifyPart(String name, String fileName, HttpFields headers)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("failure while notifying part {}", name);
+                    LOG.debug("failure while notifying part {}", name, x);
             }
         }
     }
diff --git a/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/RFC6265SetCookieParser.java b/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/RFC6265SetCookieParser.java
index 41101096d72..c3418607b3b 100644
--- a/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/RFC6265SetCookieParser.java
+++ b/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/RFC6265SetCookieParser.java
@@ -203,7 +203,7 @@ private boolean setAttribute(HttpCookie.Builder cookie, String name, String valu
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("could not set attribute {}={}", name, value);
+                LOG.debug("could not set attribute {}={}", name, value, x);
             return false;
         }
     }
diff --git a/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/content/CachingHttpContentFactory.java b/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/content/CachingHttpContentFactory.java
index 7b34e0ef2d9..8488b117ca8 100644
--- a/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/content/CachingHttpContentFactory.java
+++ b/jetty-core/jetty-http/src/main/java/org/eclipse/jetty/http/content/CachingHttpContentFactory.java
@@ -260,7 +260,7 @@ public HttpContent getContent(String path) throws IOException
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Content at path '{}' is not cacheable: {}", path, httpContent);
+                    LOG.debug("Content at path '{}' is not cacheable: {}", path, httpContent, x);
                 return null;
             }
         });
diff --git a/jetty-core/jetty-http2/jetty-http2-client-transport/src/main/java/org/eclipse/jetty/http2/client/transport/internal/HttpChannelOverHTTP2.java b/jetty-core/jetty-http2/jetty-http2-client-transport/src/main/java/org/eclipse/jetty/http2/client/transport/internal/HttpChannelOverHTTP2.java
index a4e7655c2e5..e2908659b45 100644
--- a/jetty-core/jetty-http2/jetty-http2-client-transport/src/main/java/org/eclipse/jetty/http2/client/transport/internal/HttpChannelOverHTTP2.java
+++ b/jetty-core/jetty-http2/jetty-http2-client-transport/src/main/java/org/eclipse/jetty/http2/client/transport/internal/HttpChannelOverHTTP2.java
@@ -170,7 +170,7 @@ public void succeeded()
         public void failed(Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("ReleaseCallback failed");
+                LOG.debug("ReleaseCallback failed", x);
             release();
         }
 
diff --git a/jetty-core/jetty-http2/jetty-http2-client-transport/src/main/java/org/eclipse/jetty/http2/client/transport/internal/HttpConnectionOverHTTP2.java b/jetty-core/jetty-http2/jetty-http2-client-transport/src/main/java/org/eclipse/jetty/http2/client/transport/internal/HttpConnectionOverHTTP2.java
index 2392d807a7a..838b534a48c 100644
--- a/jetty-core/jetty-http2/jetty-http2-client-transport/src/main/java/org/eclipse/jetty/http2/client/transport/internal/HttpConnectionOverHTTP2.java
+++ b/jetty-core/jetty-http2/jetty-http2-client-transport/src/main/java/org/eclipse/jetty/http2/client/transport/internal/HttpConnectionOverHTTP2.java
@@ -301,7 +301,7 @@ void remove()
     void onFailure(Throwable failure, Callback callback)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("Failure {}", this);
+            LOG.debug("Failure {}", this, failure);
         try (AutoLock ignored = lock.lock())
         {
             if (closed)
diff --git a/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Connection.java b/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Connection.java
index 4c9900fd85a..e386db81e79 100644
--- a/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Connection.java
+++ b/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Connection.java
@@ -184,7 +184,7 @@ private int fill(EndPoint endPoint, ByteBuffer buffer, boolean compact)
         catch (IOException x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Could not read from {}", endPoint);
+                LOG.debug("Could not read from {}", endPoint, x);
             return -1;
         }
         finally
diff --git a/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Session.java b/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Session.java
index 09899fc4855..7b1573bf122 100644
--- a/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Session.java
+++ b/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Session.java
@@ -678,7 +678,7 @@ public void onStreamFailure(int streamId, int error, String reason)
     protected void onStreamFailure(Stream stream, int error, String reason, Throwable failure, Callback callback)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("Stream #{} failure {}", stream.getId(), this);
+            LOG.debug("Stream #{} failure {}", stream.getId(), this, failure);
         failStream(stream, error, reason, failure, callback);
     }
 
@@ -994,7 +994,7 @@ protected HTTP2Stream createLocalStream(int streamId, MetaData.Request request,
             {
                 IllegalStateException failure = new IllegalStateException("Max local stream count " + maxCount + " exceeded: " + localCount);
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(failure).log("Could not create local stream #{} for {}", streamId, this);
+                    LOG.debug("Could not create local stream #{} for {}", streamId, this, failure);
                 failFn.accept(failure);
                 return null;
             }
@@ -1045,7 +1045,7 @@ protected HTTP2Stream createRemoteStream(int streamId, MetaData.Request request)
             {
                 IllegalStateException failure = new IllegalStateException("Max remote stream count " + maxCount + " exceeded: " + remoteCount + "+" + remoteClosing);
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(failure).log("Could not create remote stream #{} for {}", streamId, this);
+                    LOG.debug("Could not create remote stream #{} for {}", streamId, this, failure);
                 reset(null, new ResetFrame(streamId, ErrorCode.REFUSED_STREAM_ERROR.code), Callback.from(() -> onStreamDestroyed(streamId)));
                 return null;
             }
@@ -1837,7 +1837,7 @@ public void succeeded()
         public void failed(Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("OnReset failed");
+                LOG.debug("OnReset failed", x);
             complete();
         }
 
@@ -2315,7 +2315,7 @@ private void onSessionFailure(int error, String reason, Callback callback)
                     default ->
                     {
                         if (LOG.isDebugEnabled())
-                            LOG.atDebug().setCause(failure).log("Already closed, ignored session failure {}", HTTP2Session.this);
+                            LOG.debug("Already closed, ignored session failure {}", HTTP2Session.this, failure);
                         callback.succeeded();
                         return;
                     }
@@ -2323,7 +2323,7 @@ private void onSessionFailure(int error, String reason, Callback callback)
             }
 
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("Session failure {}", HTTP2Session.this);
+                LOG.debug("Session failure {}", HTTP2Session.this, cause);
 
             Invocable.InvocationType invocationType = callback.getInvocationType();
             notifyFailure(HTTP2Session.this, cause, Callback.from(invocationType, () ->
@@ -2352,7 +2352,7 @@ private void onWriteFailure(Throwable x)
             }
 
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Write failure {}", HTTP2Session.this);
+                LOG.debug("Write failure {}", HTTP2Session.this, x);
 
             int error = ErrorCode.NO_ERROR.code;
             notifyFailure(HTTP2Session.this, x, Callback.from(() ->
diff --git a/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2StreamEndPoint.java b/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2StreamEndPoint.java
index a166a0c05c2..502db5b55a6 100644
--- a/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2StreamEndPoint.java
+++ b/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2StreamEndPoint.java
@@ -153,7 +153,7 @@ public void close(Throwable cause)
         if (closed.compareAndSet(false, true))
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("closing {}", this);
+                LOG.debug("closing {}", this, cause);
             Stream.Data data = this.data.getAndSet(null);
             if (data != null)
                 data.release();
diff --git a/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/internal/HTTP2Flusher.java b/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/internal/HTTP2Flusher.java
index f9d40ab1d93..f4e3333b071 100644
--- a/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/internal/HTTP2Flusher.java
+++ b/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/internal/HTTP2Flusher.java
@@ -274,14 +274,14 @@ protected Action process() throws Throwable
                 catch (HpackException.StreamException failure)
                 {
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(failure).log("Failure generating {}", entry);
+                        LOG.debug("Failure generating {}", entry, failure);
                     entry.resetAndFail(failure);
                     pending.remove();
                 }
                 catch (HpackException.SessionException failure)
                 {
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(failure).log("Failure generating {}", entry);
+                        LOG.debug("Failure generating {}", entry, failure);
                     onSessionFailure(failure);
                     // The method above will try to send
                     // a GOAWAY, so we will iterate again.
@@ -291,7 +291,7 @@ protected Action process() throws Throwable
                 {
                     // Failure to generate the entry is catastrophic.
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(failure).log("Failure generating {}", entry);
+                        LOG.debug("Failure generating {}", entry, failure);
                     failed(failure);
                     return Action.SCHEDULED;
                 }
@@ -381,11 +381,11 @@ protected void onFailure(Throwable x)
             closed = terminated;
             terminated = x;
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log(String.format("%s, entries processed/pending/queued=%d/%d/%d",
+                LOG.debug("{}, entries processed/pending/queued={}/{}/{}",
                     closed != null ? "Closing" : "Failing",
                     processedEntries.size(),
                     pendingEntries.size(),
-                    entries.size()));
+                    entries.size(), x);
             allEntries = new HashSet<>(entries);
             entries.clear();
         }
@@ -419,11 +419,11 @@ private void onSessionFailure(Throwable x)
             closed = terminated;
             terminated = x;
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log(String.format("%s, entries processed/pending/queued=%d/%d/%d",
+                LOG.debug("{}, entries processed/pending/queued={}/{}/{}",
                     closed != null ? "Closing" : "Failing",
                     processedEntries.size(),
                     pendingEntries.size(),
-                    entries.size()));
+                    entries.size(), x);
             allEntries = new HashSet<>(entries);
             entries.clear();
         }
diff --git a/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/parser/HeaderBlockParser.java b/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/parser/HeaderBlockParser.java
index ad26ebb8e09..0f8d63eeeda 100644
--- a/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/parser/HeaderBlockParser.java
+++ b/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/parser/HeaderBlockParser.java
@@ -102,7 +102,7 @@ public MetaData parse(ByteBuffer buffer, int blockLength)
             catch (HpackException.StreamException x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Stream error, stream={}", headerParser.getStreamId());
+                    LOG.debug("Stream error, stream={}", headerParser.getStreamId(), x);
                 if (x.isRequest())
                     return MetaData.Failed.newFailedMetaDataRequest(HttpVersion.HTTP_2, x);
                 if (x.isResponse())
@@ -112,14 +112,14 @@ public MetaData parse(ByteBuffer buffer, int blockLength)
             catch (HpackException.CompressionException x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Compression error, buffer={}", BufferUtil.toDetailString(buffer));
+                    LOG.debug("Compression error, buffer={}", BufferUtil.toDetailString(buffer), x);
                 notifier.connectionFailure(buffer, ErrorCode.COMPRESSION_ERROR.code, "invalid_hpack_block");
                 return MetaData.Failed.newFailedMetaData(HttpVersion.HTTP_2, x);
             }
             catch (HpackException.SessionException x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Session error, buffer={}", BufferUtil.toDetailString(buffer));
+                    LOG.debug("Session error, buffer={}", BufferUtil.toDetailString(buffer), x);
                 notifier.connectionFailure(buffer, ErrorCode.PROTOCOL_ERROR.code, "invalid_hpack_block");
                 return MetaData.Failed.newFailedMetaData(HttpVersion.HTTP_2, x);
             }
diff --git a/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/parser/Parser.java b/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/parser/Parser.java
index e719c5d8414..d90e81c106b 100644
--- a/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/parser/Parser.java
+++ b/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/parser/Parser.java
@@ -175,7 +175,7 @@ public void parse(ByteBuffer buffer)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Parse failed");
+                LOG.debug("Parse failed", x);
             connectionFailure(buffer, ErrorCode.PROTOCOL_ERROR, "parser_error");
         }
     }
diff --git a/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/parser/ServerParser.java b/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/parser/ServerParser.java
index 57ccb10ecd8..9cb27173af0 100644
--- a/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/parser/ServerParser.java
+++ b/jetty-core/jetty-http2/jetty-http2-common/src/main/java/org/eclipse/jetty/http2/parser/ServerParser.java
@@ -131,7 +131,7 @@ public void parse(ByteBuffer buffer)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Parse error");
+                LOG.debug("Parse error", x);
             BufferUtil.clear(buffer);
             notifyConnectionFailure(ErrorCode.PROTOCOL_ERROR.code, "parser_error");
         }
diff --git a/jetty-core/jetty-http2/jetty-http2-server/src/main/java/org/eclipse/jetty/http2/server/internal/HTTP2ServerConnection.java b/jetty-core/jetty-http2/jetty-http2-server/src/main/java/org/eclipse/jetty/http2/server/internal/HTTP2ServerConnection.java
index d501b8ef1f7..9774969da5c 100644
--- a/jetty-core/jetty-http2/jetty-http2-server/src/main/java/org/eclipse/jetty/http2/server/internal/HTTP2ServerConnection.java
+++ b/jetty-core/jetty-http2/jetty-http2-server/src/main/java/org/eclipse/jetty/http2/server/internal/HTTP2ServerConnection.java
@@ -212,7 +212,7 @@ public void onStreamTimeout(Stream stream, TimeoutException timeout, Promise<Boo
     public void onStreamFailure(Stream stream, Throwable failure, Callback callback)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("Processing stream failure on {}", stream);
+            LOG.debug("Processing stream failure on {}", stream, failure);
         HTTP2Stream http2Stream = (HTTP2Stream)stream;
         HTTP2Channel.Server channel = (HTTP2Channel.Server)(http2Stream).getAttachment();
         if (channel == null)
@@ -240,14 +240,14 @@ public boolean onSessionTimeout(Throwable failure)
                 .map(HTTP2Channel.Server::isIdle)
                 .reduce(true, Boolean::logicalAnd);
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("{} idle timeout on {}", result ? "Processed" : "Ignored", session);
+            LOG.debug("{} idle timeout on {}", result ? "Processed" : "Ignored", session, failure);
         return result;
     }
 
     public void onSessionFailure(Throwable failure, Callback callback)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("Processing session failure on {}", getSession());
+            LOG.debug("Processing session failure on {}", getSession(), failure);
         // All the streams have already been failed, just succeed the callback.
         callback.succeeded();
     }
diff --git a/jetty-core/jetty-http2/jetty-http2-server/src/main/java/org/eclipse/jetty/http2/server/internal/HttpStreamOverHTTP2.java b/jetty-core/jetty-http2/jetty-http2-server/src/main/java/org/eclipse/jetty/http2/server/internal/HttpStreamOverHTTP2.java
index 37dff75f806..7b1fb2401ac 100644
--- a/jetty-core/jetty-http2/jetty-http2-server/src/main/java/org/eclipse/jetty/http2/server/internal/HttpStreamOverHTTP2.java
+++ b/jetty-core/jetty-http2/jetty-http2-server/src/main/java/org/eclipse/jetty/http2/server/internal/HttpStreamOverHTTP2.java
@@ -524,7 +524,7 @@ public void succeeded(Stream pushStream)
             public void failed(Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Could not HTTP/2 push {}", resource);
+                    LOG.debug("Could not HTTP/2 push {}", resource, x);
             }
         }, null); // TODO: handle reset from the client ?
     }
@@ -699,7 +699,7 @@ public void failed(Throwable x)
         {
             // It was a tunnel attempt, but it failed.
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("HTTP2 response #{}/{}: tunnel failed", _stream.getId(), Integer.toHexString(_stream.getSession().hashCode()));
+                LOG.debug("HTTP2 response #{}/{}: tunnel failed", _stream.getId(), Integer.toHexString(_stream.getSession().hashCode()), x);
             // Implicitly close the request side of the stream that was left
             // open by the client to tunnel opaque bytes via DATA frames.
             // Don't send RST_STREAM if a response was already sent.
@@ -712,7 +712,7 @@ public void failed(Throwable x)
         {
             ErrorCode errorCode = x == HttpStream.CONTENT_NOT_CONSUMED ? ErrorCode.NO_ERROR : ErrorCode.CANCEL_STREAM_ERROR;
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("HTTP2 response #{}/{}: failed {}", _stream.getId(), Integer.toHexString(_stream.getSession().hashCode()), errorCode);
+                LOG.debug("HTTP2 response #{}/{}: failed {}", _stream.getId(), Integer.toHexString(_stream.getSession().hashCode()), errorCode, x);
             _stream.reset(new ResetFrame(_stream.getId(), errorCode.code), Callback.NOOP);
         }
         _recycle.set(true);
diff --git a/jetty-core/jetty-http2/jetty-http2-server/src/main/java/org/eclipse/jetty/http2/server/internal/ServerHTTP2StreamEndPoint.java b/jetty-core/jetty-http2/jetty-http2-server/src/main/java/org/eclipse/jetty/http2/server/internal/ServerHTTP2StreamEndPoint.java
index 2749452e25a..8f285557f28 100644
--- a/jetty-core/jetty-http2/jetty-http2-server/src/main/java/org/eclipse/jetty/http2/server/internal/ServerHTTP2StreamEndPoint.java
+++ b/jetty-core/jetty-http2/jetty-http2-server/src/main/java/org/eclipse/jetty/http2/server/internal/ServerHTTP2StreamEndPoint.java
@@ -70,7 +70,7 @@ public void onTimeout(TimeoutException timeout, BiConsumer<Runnable, Boolean> co
     public Runnable onFailure(Throwable failure, Callback callback)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("failure on {}", this);
+            LOG.debug("failure on {}", this, failure);
         processFailure(failure);
         close(failure);
         return callback::succeeded;
diff --git a/jetty-core/jetty-http3/jetty-http3-client/src/main/java/org/eclipse/jetty/http3/client/HTTP3SessionClient.java b/jetty-core/jetty-http3/jetty-http3-client/src/main/java/org/eclipse/jetty/http3/client/HTTP3SessionClient.java
index 12b74a3919e..cfe9d5bd9c4 100644
--- a/jetty-core/jetty-http3/jetty-http3-client/src/main/java/org/eclipse/jetty/http3/client/HTTP3SessionClient.java
+++ b/jetty-core/jetty-http3/jetty-http3-client/src/main/java/org/eclipse/jetty/http3/client/HTTP3SessionClient.java
@@ -132,7 +132,7 @@ public void newRequest(HeadersFrame frame, Stream.Client.Listener listener, Prom
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("could not create stream for {} on {}", endPoint, this);
+                LOG.debug("could not create stream for {} on {}", endPoint, this, x);
             Promise.Invocable<StreamEndPoint> p = Promise.Invocable.from(promise.getInvocationType(), s -> promise.failed(x), t -> promise.failed(x));
             endPoint.disconnect(HTTP3ErrorCode.REQUEST_CANCELLED_ERROR.code(), x, true, p);
             return;
diff --git a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/ControlFlusher.java b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/ControlFlusher.java
index 99a070307e5..8c5eeff021f 100644
--- a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/ControlFlusher.java
+++ b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/ControlFlusher.java
@@ -121,7 +121,7 @@ protected void onSuccess()
     protected void onFailure(Throwable failure)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("failed to write {} on {}", entries, this);
+            LOG.debug("failed to write {} on {}", entries, this, failure);
 
         List<Entry> allEntries = new ArrayList<>(entries);
         entries.clear();
diff --git a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/HTTP3StreamConnection.java b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/HTTP3StreamConnection.java
index ebbfdafec2e..2a42cdfe88b 100644
--- a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/HTTP3StreamConnection.java
+++ b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/HTTP3StreamConnection.java
@@ -84,7 +84,7 @@ public void onClose(Throwable cause)
     public void onFailure(Throwable failure)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("onFailure on {}", this);
+            LOG.debug("onFailure on {}", this, failure);
         tryReleaseData(true);
     }
 
@@ -196,7 +196,7 @@ private void processFrames(ParseResult result)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("failure processing frames on {}", this);
+                    LOG.debug("failure processing frames on {}", this, x);
                 tryReleaseData(true);
                 throw x;
             }
@@ -299,7 +299,7 @@ private Content.Chunk read(ParseResult result)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("failure reading data on {}", this);
+                LOG.debug("failure reading data on {}", this, x);
             tryReleaseData(true);
             return Content.Chunk.from(x);
         }
@@ -349,7 +349,7 @@ private ParseResult parseAndFill()
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("parse+fill failure on {}", this);
+                LOG.debug("parse+fill failure on {}", this, x);
             throw x;
         }
     }
diff --git a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/InstructionFlusher.java b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/InstructionFlusher.java
index 862ab95115e..45ba9f8b10d 100644
--- a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/InstructionFlusher.java
+++ b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/InstructionFlusher.java
@@ -107,7 +107,7 @@ protected Action process()
     protected void onFailure(Throwable failure)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("failed to write buffers on {}", this);
+            LOG.debug("failed to write buffers on {}", this, failure);
 
         try (AutoLock ignored = lock.lock())
         {
diff --git a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/InstructionStreamConnection.java b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/InstructionStreamConnection.java
index 3e018ddaf09..a09fbecb0de 100644
--- a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/InstructionStreamConnection.java
+++ b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/InstructionStreamConnection.java
@@ -122,7 +122,7 @@ private void fail(long errorCode, String message, Throwable failure)
         buffer.release();
         buffer = null;
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("could not process instruction stream {}", getEndPoint());
+            LOG.debug("could not process instruction stream {}", getEndPoint(), failure);
         notifySessionFailure(errorCode, message, failure);
     }
 
diff --git a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/MessageFlusher.java b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/MessageFlusher.java
index cc3496ee5e2..0bce42fad52 100644
--- a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/MessageFlusher.java
+++ b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/MessageFlusher.java
@@ -93,7 +93,7 @@ protected Action process()
     private void onGenerateFailure(Throwable cause)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log("failed to generate {} on {}", entry, this);
+            LOG.debug("failed to generate {} on {}", entry, this, cause);
 
         accumulator.clear();
 
@@ -118,7 +118,7 @@ private void onWriteSuccess()
     private void onWriteFailure(Throwable failure)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("failed to write {} on {}", entry, this);
+            LOG.debug("failed to write {} on {}", entry, this, failure);
 
         entry.callback().failed(failure);
         entry = null;
diff --git a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/UnidirectionalStreamConnection.java b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/UnidirectionalStreamConnection.java
index 42bdd7af9b1..210476b1a28 100644
--- a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/UnidirectionalStreamConnection.java
+++ b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/UnidirectionalStreamConnection.java
@@ -127,7 +127,7 @@ else if (filled == 0)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("could not process stream {}", getEndPoint());
+                LOG.debug("could not process stream {}", getEndPoint(), x);
             releaseBuffer();
             getEndPoint().close(x);
         }
diff --git a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/internal/ControlStreamConnection.java b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/internal/ControlStreamConnection.java
index ddfea336a13..4f7922fa363 100644
--- a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/internal/ControlStreamConnection.java
+++ b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/internal/ControlStreamConnection.java
@@ -118,7 +118,7 @@ else if (filled < 0)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("could not process control stream {}", getEndPoint());
+                LOG.debug("could not process control stream {}", getEndPoint(), x);
             buffer.release();
             buffer = null;
             getEndPoint().disconnect(HTTP3ErrorCode.CLOSED_CRITICAL_STREAM_ERROR.code(), x, true, Promise.Invocable.noop());
diff --git a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/parser/ControlParser.java b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/parser/ControlParser.java
index bd8e908f0eb..041ce5a406a 100644
--- a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/parser/ControlParser.java
+++ b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/parser/ControlParser.java
@@ -134,7 +134,7 @@ public void parse(ByteBuffer buffer)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("parse failed");
+                LOG.debug("parse failed", x);
             sessionFailure(buffer, HTTP3ErrorCode.INTERNAL_ERROR.code(), "parser_error", x);
         }
     }
diff --git a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/parser/HeadersBodyParser.java b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/parser/HeadersBodyParser.java
index ff56b7cddf0..d74362c8a3c 100644
--- a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/parser/HeadersBodyParser.java
+++ b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/parser/HeadersBodyParser.java
@@ -123,7 +123,7 @@ private boolean decode(ByteBuffer encoded, boolean last)
         catch (QpackException.StreamException x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("decode failure");
+                LOG.debug("decode failure", x);
 
             // TODO: handle stream exceptions in other cases (see https://github.com/jetty/jetty.project/issues/7676).
             decoder.streamCancellation(streamId);
@@ -139,13 +139,13 @@ else if (x.isResponse())
         catch (QpackException.SessionException x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("decode failure");
+                LOG.debug("decode failure", x);
             notifySessionFailure(x.getErrorCode(), x.getMessage(), x);
         }
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("decode failure");
+                LOG.debug("decode failure", x);
             notifySessionFailure(HTTP3ErrorCode.INTERNAL_ERROR.code(), "internal_error", x);
         }
         return false;
diff --git a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/parser/MessageParser.java b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/parser/MessageParser.java
index 561e25bdb7d..3dcdc3044ba 100644
--- a/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/parser/MessageParser.java
+++ b/jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/parser/MessageParser.java
@@ -186,7 +186,7 @@ public Result parse(ByteBuffer buffer, boolean last)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("parse failed");
+                LOG.debug("parse failed", x);
             sessionFailure(buffer, HTTP3ErrorCode.INTERNAL_ERROR.code(), "parser_error", x);
             return Result.NO_FRAME;
         }
diff --git a/jetty-core/jetty-http3/jetty-http3-qpack/src/main/java/org/eclipse/jetty/http3/qpack/internal/parser/EncodedFieldSection.java b/jetty-core/jetty-http3/jetty-http3-qpack/src/main/java/org/eclipse/jetty/http3/qpack/internal/parser/EncodedFieldSection.java
index 43b9258d021..5962e3509c0 100644
--- a/jetty-core/jetty-http3/jetty-http3-qpack/src/main/java/org/eclipse/jetty/http3/qpack/internal/parser/EncodedFieldSection.java
+++ b/jetty-core/jetty-http3/jetty-http3-qpack/src/main/java/org/eclipse/jetty/http3/qpack/internal/parser/EncodedFieldSection.java
@@ -128,7 +128,7 @@ public MetaData decode(QpackContext context, int maxHeaderSize) throws QpackExce
         catch (QpackException.StreamException x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Stream decode error, stream={}", getStreamId());
+                LOG.debug("Stream decode error, stream={}", getStreamId(), x);
             if (x.isRequest())
                 return MetaData.Failed.newFailedMetaDataRequest(HttpVersion.HTTP_3, x);
             if (x.isResponse())
@@ -138,7 +138,7 @@ public MetaData decode(QpackContext context, int maxHeaderSize) throws QpackExce
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Stream decode failure, stream={}", getStreamId());
+                LOG.debug("Stream decode failure, stream={}", getStreamId(), x);
             return MetaData.Failed.newFailedMetaData(HttpVersion.HTTP_3, x);
         }
     }
@@ -167,7 +167,7 @@ private EncodedField parseIndexedFieldPostBase(ByteBuffer buffer) throws Encodin
     private EncodedField parseNameReference(ByteBuffer buffer) throws EncodingException
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("parseLiteralFieldLineWithNameReference: " + BufferUtil.toDetailString(buffer));
+            LOG.debug("parseLiteralFieldLineWithNameReference: {}", BufferUtil.toDetailString(buffer));
 
         byte firstByte = buffer.get(buffer.position());
         boolean allowEncoding = (firstByte & 0x20) != 0;
diff --git a/jetty-core/jetty-http3/jetty-http3-server/src/main/java/org/eclipse/jetty/http3/server/internal/HttpStreamOverHTTP3.java b/jetty-core/jetty-http3/jetty-http3-server/src/main/java/org/eclipse/jetty/http3/server/internal/HttpStreamOverHTTP3.java
index 3689c9f1e16..7c1ef03cf47 100644
--- a/jetty-core/jetty-http3/jetty-http3-server/src/main/java/org/eclipse/jetty/http3/server/internal/HttpStreamOverHTTP3.java
+++ b/jetty-core/jetty-http3/jetty-http3-server/src/main/java/org/eclipse/jetty/http3/server/internal/HttpStreamOverHTTP3.java
@@ -139,7 +139,7 @@ public Runnable onRequest(HeadersFrame frame)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("onRequest() failure");
+                LOG.debug("onRequest() failure", x);
             HttpException httpException = x instanceof HttpException http ? http : new HttpException.RuntimeException(HttpStatus.INTERNAL_SERVER_ERROR_500, x);
             return onBadMessage(httpException);
         }
@@ -550,7 +550,7 @@ public void failed(Throwable x)
     {
         HTTP3ErrorCode errorCode = x == HttpStream.CONTENT_NOT_CONSUMED ? HTTP3ErrorCode.NO_ERROR : HTTP3ErrorCode.REQUEST_CANCELLED_ERROR;
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(x).log("HTTP3 Response #{}/{} failed {}", stream.getId(), Integer.toHexString(stream.getSession().hashCode()), errorCode);
+            LOG.debug("HTTP3 Response #{}/{} failed {}", stream.getId(), Integer.toHexString(stream.getSession().hashCode()), errorCode, x);
         stream.disconnect(errorCode.code(), x, Promise.Invocable.noop());
     }
 
diff --git a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/AbstractConnection.java b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/AbstractConnection.java
index 178ea21463e..a570dc4757e 100644
--- a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/AbstractConnection.java
+++ b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/AbstractConnection.java
@@ -135,7 +135,7 @@ public boolean isFillInterested()
     public void onFillInterestedFailed(Throwable cause)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log("onFillInterestedFailed {}", this);
+            LOG.debug("onFillInterestedFailed {}", this, cause);
         if (_endPoint.isOpen())
         {
             boolean close = true;
@@ -197,7 +197,7 @@ public void onClose(Throwable cause)
             if (cause == null)
                 LOG.debug("onClose {}", this);
             else
-                LOG.atDebug().setCause(cause).log("onClose {}", this);
+                LOG.debug("onClose {}", this, cause);
         }
         for (Listener listener : _listeners)
         {
diff --git a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/FillInterest.java b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/FillInterest.java
index 1d9b8e5badf..292c3e486fc 100644
--- a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/FillInterest.java
+++ b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/FillInterest.java
@@ -134,7 +134,7 @@ public InvocationType getCallbackInvocationType()
     public boolean onFail(Throwable cause)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log("onFail {}", this);
+            LOG.debug("onFail {}", this, cause);
         Callback callback = _interested.get();
         if (callback != null && _interested.compareAndSet(callback, null))
         {
diff --git a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/ManagedSelector.java b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/ManagedSelector.java
index 1dfa3063488..2fb1a84b654 100644
--- a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/ManagedSelector.java
+++ b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/ManagedSelector.java
@@ -216,7 +216,7 @@ protected void handleSelectFailure(Selector selector, Throwable failure) throws
     {
         LOG.info("Caught select() failure, trying to recover: {}", failure.toString());
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("");
+            LOG.debug("", failure);
 
         Selector newSelector = _selectorManager.newSelector();
         for (SelectionKey oldKey : selector.keys())
@@ -238,7 +238,7 @@ protected void handleSelectFailure(Selector selector, Throwable failure) throws
                 catch (Throwable t)
                 {
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(t).log("Could not transfer {}", channel);
+                        LOG.debug("Could not transfer {}", channel, t);
                     IO.close(channel);
                 }
             }
@@ -881,7 +881,7 @@ public void update(Selector selector)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Could not register channel after accept {}", channel);
+                    LOG.debug("Could not register channel after accept {}", channel, x);
                 failed(x);
             }
         }
@@ -897,7 +897,7 @@ public void run()
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Could not process accepted channel {}", channel);
+                    LOG.debug("Could not process accepted channel {}", channel, x);
                 failed(x);
             }
         }
@@ -1065,7 +1065,7 @@ public void run()
                 IO.close(_connect.channel);
                 LOG.warn("Could not create EndPoint {}: {}", _connect.channel, String.valueOf(failure));
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(failure).log("");
+                    LOG.debug("", failure);
                 _connect.failed(failure);
             }
         }
diff --git a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/NegotiatingClientConnection.java b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/NegotiatingClientConnection.java
index ffa5c39d753..f19605e6e67 100644
--- a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/NegotiatingClientConnection.java
+++ b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/NegotiatingClientConnection.java
@@ -116,7 +116,7 @@ else if (filled == 0)
         if (failure != null)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("Unable to fill from endpoint");
+                LOG.debug("Unable to fill from endpoint", failure);
             close();
             failConnectionPromise(failure);
         }
diff --git a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/SelectableChannelEndPoint.java b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/SelectableChannelEndPoint.java
index 147809d0c2f..68c236a6fd2 100644
--- a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/SelectableChannelEndPoint.java
+++ b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/SelectableChannelEndPoint.java
@@ -301,7 +301,7 @@ public void updateKey()
         catch (CancelledKeyException x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Ignoring key update for cancelled key {}", this);
+                LOG.debug("Ignoring key update for cancelled key {}", this, x);
             close();
         }
         catch (Throwable x)
diff --git a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/SelectorManager.java b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/SelectorManager.java
index 2599714b7e4..c9d7d49e48d 100644
--- a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/SelectorManager.java
+++ b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/SelectorManager.java
@@ -347,7 +347,7 @@ public void connectionOpened(Connection connection, Object context)
             else
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Exception while notifying connection {}", connection);
+                    LOG.debug("Exception while notifying connection {}", connection, x);
             }
             throw x;
         }
@@ -368,7 +368,7 @@ public void connectionClosed(Connection connection, Throwable cause)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Exception while notifying connection {}", connection);
+                LOG.debug("Exception while notifying connection {}", connection, x);
         }
     }
 
diff --git a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/SocketChannelEndPoint.java b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/SocketChannelEndPoint.java
index 1785d7e5020..0218bcb25fc 100644
--- a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/SocketChannelEndPoint.java
+++ b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/SocketChannelEndPoint.java
@@ -67,7 +67,7 @@ protected void doShutdownOutput()
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Could not shutdown output for {}", getChannel());
+                LOG.debug("Could not shutdown output for {}", getChannel(), x);
         }
     }
 
diff --git a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/WriteFlusher.java b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/WriteFlusher.java
index 12ddb6d3e9d..1034bffb156 100644
--- a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/WriteFlusher.java
+++ b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/WriteFlusher.java
@@ -534,7 +534,7 @@ public boolean onFail(Throwable cause)
 
                 case PENDING:
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(cause).log("failed: {}", this);
+                        LOG.debug("failed: {}", this, cause);
 
                     PendingState pending = (PendingState)current;
                     if (updateState(pending, new FailedState(cause)))
@@ -547,7 +547,7 @@ public boolean onFail(Throwable cause)
                 case FLUSHING:
                 case COMPLETING:
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(cause).log("failed: {}", this);
+                        LOG.debug("failed: {}", this, cause);
                     if (updateState(current, new FailedState(cause)))
                         return true;
                     break;
diff --git a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/content/ContentSourceTransformer.java b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/content/ContentSourceTransformer.java
index 402dd023b52..a49dadc20c8 100644
--- a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/content/ContentSourceTransformer.java
+++ b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/content/ContentSourceTransformer.java
@@ -226,7 +226,7 @@ public void demand(Runnable demandCallback)
     public void fail(Throwable failure)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("Failing {}", this);
+            LOG.debug("Failing {}", this, failure);
 
         while (true)
         {
diff --git a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java
index 2608cc11d9c..98844886f15 100644
--- a/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java
+++ b/jetty-core/jetty-io/src/main/java/org/eclipse/jetty/io/ssl/SslConnection.java
@@ -636,7 +636,7 @@ protected void onFillableFail(Throwable failure)
             try (AutoLock ignored = _lock.lock())
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(failure).log("onFillableFail {}", SslConnection.this);
+                    LOG.debug("onFillableFail {}", SslConnection.this, failure);
 
                 _fillState = FillState.IDLE;
                 if (_flushState == FlushState.WAIT_FOR_FILL)
@@ -987,7 +987,7 @@ else if (interest)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log(SslConnection.this.toString());
+                    LOG.debug("{}", SslConnection.this, x);
                 close(x);
                 throw x;
             }
@@ -1016,7 +1016,7 @@ private Throwable handshakeFailed(Throwable failure)
             if (_handshake.compareAndSet(HandshakeState.HANDSHAKE, HandshakeState.FAILED))
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(failure).log("handshake failed {}", SslConnection.this);
+                    LOG.debug("handshake failed {}", SslConnection.this, failure);
                 if (!(failure instanceof SSLHandshakeException))
                     failure = new SSLHandshakeException(failure.getMessage()).initCause(failure);
                 notifyHandshakeFailed(_sslEngine, failure);
@@ -1354,7 +1354,7 @@ else if (fillInterest)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log(SslConnection.this.toString());
+                    LOG.debug("{}", SslConnection.this, x);
                 close(x);
                 throw x;
             }
@@ -1452,7 +1452,7 @@ private void closeOutbound()
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Unable to close outbound");
+                    LOG.debug("Unable to close outbound", x);
             }
         }
 
@@ -1612,13 +1612,13 @@ private Throwable handleException(Throwable x, String context)
                 {
                     _failure = x;
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(x).log("{} stored {} exception", this, context);
+                        LOG.debug("{} stored {} exception", this, context, x);
                 }
                 else
                 {
                     ExceptionUtil.addSuppressedIfNotAssociated(_failure, x);
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(x).log("{} suppressed {} exception", this, context);
+                        LOG.debug("{} suppressed {} exception", this, context, x);
                 }
                 return _failure;
             }
@@ -1687,7 +1687,7 @@ public void failed(final Throwable x)
                 try (AutoLock ignored = _lock.lock())
                 {
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(x).log("IncompleteWriteCB failed {}", SslConnection.this);
+                        LOG.debug("IncompleteWriteCB failed {}", SslConnection.this, x);
 
                     lockedDiscardEncryptedOutputBuffer();
 
diff --git a/jetty-core/jetty-jmx/src/main/java/org/eclipse/jetty/jmx/ObjectMBean.java b/jetty-core/jetty-jmx/src/main/java/org/eclipse/jetty/jmx/ObjectMBean.java
index b2513fe7162..07b77d7d363 100644
--- a/jetty-core/jetty-jmx/src/main/java/org/eclipse/jetty/jmx/ObjectMBean.java
+++ b/jetty-core/jetty-jmx/src/main/java/org/eclipse/jetty/jmx/ObjectMBean.java
@@ -150,7 +150,7 @@ public AttributeList getAttributes(String[] names)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Unable to get attribute {}", name);
+                    LOG.debug("Unable to get attribute {}", name, x);
             }
         }
         return results;
@@ -184,7 +184,7 @@ public AttributeList setAttributes(AttributeList attributes)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Unable to get Attribute {}", attribute);
+                    LOG.debug("Unable to get Attribute {}", attribute, x);
             }
         }
         return results;
diff --git a/jetty-core/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/ProxyHandler.java b/jetty-core/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/ProxyHandler.java
index 09645b087a1..2c786473613 100644
--- a/jetty-core/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/ProxyHandler.java
+++ b/jetty-core/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/ProxyHandler.java
@@ -726,7 +726,7 @@ public void succeeded()
                 public void failed(Throwable failure)
                 {
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(failure).log("{} P2C failed to write content {}", requestId(clientToProxyRequest), BufferUtil.toDetailString(serverToProxyContent));
+                        LOG.debug("{} P2C failed to write content {}", requestId(clientToProxyRequest), BufferUtil.toDetailString(serverToProxyContent), failure);
                     serverToProxyChunk.release();
                     // Cannot write towards the client, abort towards the server.
                     serverToProxyResponse.abort(failure);
@@ -765,7 +765,7 @@ public void onComplete(Result result)
                     else
                     {
                         if (LOG.isDebugEnabled())
-                            LOG.atDebug().setCause(failure).log("{} P2C response failure {}", requestId(clientToProxyRequest), proxyToClientResponse);
+                            LOG.debug("{} P2C response failure {}", requestId(clientToProxyRequest), proxyToClientResponse, failure);
                         onProxyToClientResponseFailure(clientToProxyRequest, proxyToServerRequest, result.getResponse(), proxyToClientResponse, proxyToClientCallback, failure);
                     }
                 });
@@ -808,7 +808,7 @@ public void succeeded()
         public void failed(Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("{} P2C response failure {}", requestId(clientToProxyRequest), proxyToClientResponse);
+                LOG.debug("{} P2C response failure {}", requestId(clientToProxyRequest), proxyToClientResponse, x);
             onProxyToClientResponseFailure(clientToProxyRequest, proxyToServerRequest, serverToProxyResponse, proxyToClientResponse, proxyToClientCallback, x);
         }
 
diff --git a/jetty-core/jetty-quic/jetty-quic-client/src/main/java/org/eclipse/jetty/quic/client/ClientProtocolSession.java b/jetty-core/jetty-quic/jetty-quic-client/src/main/java/org/eclipse/jetty/quic/client/ClientProtocolSession.java
index b2c5570100d..1df700df80a 100644
--- a/jetty-core/jetty-quic/jetty-quic-client/src/main/java/org/eclipse/jetty/quic/client/ClientProtocolSession.java
+++ b/jetty-core/jetty-quic/jetty-quic-client/src/main/java/org/eclipse/jetty/quic/client/ClientProtocolSession.java
@@ -62,7 +62,7 @@ protected void onStart()
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("could not create stream");
+                LOG.debug("could not create stream", x);
             ConnectionCloseFrame disconnect = new ConnectionCloseFrame(ErrorCode.INTERNAL_ERROR.code(), "start_failure");
             disconnect(disconnect, x, Promise.Invocable.noop());
         }
diff --git a/jetty-core/jetty-quic/jetty-quic-common/src/main/java/org/eclipse/jetty/quic/common/AbstractSession.java b/jetty-core/jetty-quic/jetty-quic-common/src/main/java/org/eclipse/jetty/quic/common/AbstractSession.java
index d61122d0016..20a111bd305 100644
--- a/jetty-core/jetty-quic/jetty-quic-common/src/main/java/org/eclipse/jetty/quic/common/AbstractSession.java
+++ b/jetty-core/jetty-quic/jetty-quic-common/src/main/java/org/eclipse/jetty/quic/common/AbstractSession.java
@@ -127,7 +127,7 @@ protected Stream.Listener notifyNewStream()
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                LOG.debug("failure while notifying listener {}", listener, x);
             return null;
         }
     }
@@ -141,7 +141,7 @@ protected TransportParameters notifyPrepare()
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                LOG.debug("failure while notifying listener {}", listener, x);
             return null;
         }
     }
@@ -155,7 +155,7 @@ protected void notifyTransportParameters(TransportParameters parameters)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                LOG.debug("failure while notifying listener {}", listener, x);
         }
     }
 
@@ -168,7 +168,7 @@ protected void notifyMaxStreams(MaxStreamsFrame frame)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                LOG.debug("failure while notifying listener {}", listener, x);
         }
     }
 
@@ -181,7 +181,7 @@ protected void notifyDataBlocked(DataBlockedFrame frame)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                LOG.debug("failure while notifying listener {}", listener, x);
         }
     }
 
@@ -194,7 +194,7 @@ protected void notifyMaxData(MaxDataFrame frame)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                LOG.debug("failure while notifying listener {}", listener, x);
         }
     }
 
@@ -207,7 +207,7 @@ protected void notifyPing()
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                LOG.debug("failure while notifying listener {}", listener, x);
         }
     }
 
@@ -220,7 +220,7 @@ protected void notifyStreamsBlocked(StreamsBlockedFrame frame)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                LOG.debug("failure while notifying listener {}", listener, x);
         }
     }
 
@@ -235,7 +235,7 @@ private CompletableFuture<Session> notifyLocalShutdown()
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                LOG.debug("failure while notifying listener {}", listener, x);
             return CompletableFuture.failedFuture(x);
         }
     }
@@ -249,7 +249,7 @@ protected boolean notifyIdleTimeout(TimeoutException failure)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                LOG.debug("failure while notifying listener {}", listener, x);
             return true;
         }
     }
@@ -266,7 +266,7 @@ protected void notifyLocalClose(ConnectionCloseFrame frame, Promise.Invocable<Se
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                LOG.debug("failure while notifying listener {}", listener, x);
             promise.failed(x);
         }
     }
@@ -280,7 +280,7 @@ protected void notifyClose(ConnectionCloseFrame frame)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                LOG.debug("failure while notifying listener {}", listener, x);
         }
     }
 
diff --git a/jetty-core/jetty-quic/jetty-quic-common/src/main/java/org/eclipse/jetty/quic/common/ProtocolSession.java b/jetty-core/jetty-quic/jetty-quic-common/src/main/java/org/eclipse/jetty/quic/common/ProtocolSession.java
index 9994be8a83c..54b5c1b1e2e 100644
--- a/jetty-core/jetty-quic/jetty-quic-common/src/main/java/org/eclipse/jetty/quic/common/ProtocolSession.java
+++ b/jetty-core/jetty-quic/jetty-quic-common/src/main/java/org/eclipse/jetty/quic/common/ProtocolSession.java
@@ -240,7 +240,7 @@ private void closeAndDisconnect(ConnectionCloseFrame frame, Promise.Invocable<Pr
     public void disconnect(ConnectionCloseFrame frame, Throwable failure, Promise.Invocable<ProtocolSession> promise)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("disconnecting with {} on {}", frame, this);
+            LOG.debug("disconnecting with {} on {}", frame, this, failure);
         // Terminate all the StreamEndPoints.
         // This clears the endPoints map of this class.
         for (StreamEndPoint streamEndPoint : getStreamEndPoints())
diff --git a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-client/src/main/java/org/eclipse/jetty/quic/quiche/client/QuicheClientQuicConfiguration.java b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-client/src/main/java/org/eclipse/jetty/quic/quiche/client/QuicheClientQuicConfiguration.java
index a5e6ff3e9b5..373a8667a3f 100644
--- a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-client/src/main/java/org/eclipse/jetty/quic/quiche/client/QuicheClientQuicConfiguration.java
+++ b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-client/src/main/java/org/eclipse/jetty/quic/quiche/client/QuicheClientQuicConfiguration.java
@@ -130,7 +130,7 @@ private void deleteFile(Path path)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("could not delete {}", path);
+                LOG.debug("could not delete {}", path, x);
         }
     }
 }
diff --git a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-client/src/main/java/org/eclipse/jetty/quic/quiche/client/QuicheTransport.java b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-client/src/main/java/org/eclipse/jetty/quic/quiche/client/QuicheTransport.java
index a5bcb064ae8..fbcba8c4653 100644
--- a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-client/src/main/java/org/eclipse/jetty/quic/quiche/client/QuicheTransport.java
+++ b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-client/src/main/java/org/eclipse/jetty/quic/quiche/client/QuicheTransport.java
@@ -121,7 +121,7 @@ public void onOpen(Session session)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("could not create ProtocolSession");
+                    LOG.debug("could not create ProtocolSession", x);
                 session.disconnect(new ConnectionCloseFrame(ErrorCode.APPLICATION_ERROR.code(), "invalid_protocol"), x, Promise.Invocable.noop());
             }
         }
diff --git a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-client/src/main/java/org/eclipse/jetty/quic/quiche/client/internal/ClientQuicheConnection.java b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-client/src/main/java/org/eclipse/jetty/quic/quiche/client/internal/ClientQuicheConnection.java
index 2fa01ca859c..191e324b177 100644
--- a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-client/src/main/java/org/eclipse/jetty/quic/quiche/client/internal/ClientQuicheConnection.java
+++ b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-client/src/main/java/org/eclipse/jetty/quic/quiche/client/internal/ClientQuicheConnection.java
@@ -229,7 +229,7 @@ public void onFillable()
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("receive failure on {}", this);
+                LOG.debug("receive failure on {}", this, x);
             buffer.release();
             fail(ErrorCode.INTERNAL_ERROR.code(), "receive_failure", x);
         }
diff --git a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-common/src/main/java/org/eclipse/jetty/quic/quiche/QuicheSession.java b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-common/src/main/java/org/eclipse/jetty/quic/quiche/QuicheSession.java
index e217407300f..e700058ecfd 100644
--- a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-common/src/main/java/org/eclipse/jetty/quic/quiche/QuicheSession.java
+++ b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-common/src/main/java/org/eclipse/jetty/quic/quiche/QuicheSession.java
@@ -214,7 +214,7 @@ public void maxData(MaxDataFrame frame, Promise.Invocable<Session> promise)
     public void disconnect(ConnectionCloseFrame frame, Throwable failure, Promise.Invocable<Session> promise)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("disconnecting {} {}", frame, this);
+            LOG.debug("disconnecting {} {}", frame, this, failure);
 
         // Terminate all the streams.
         // This clears the streams map of this class.
@@ -551,7 +551,7 @@ protected void onCompleteSuccess()
         protected void onCompleteFailure(Throwable failure)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("failed to write cipher bytes, closing session on {}", QuicheSession.this);
+                LOG.debug("failed to write cipher bytes, closing session on {}", QuicheSession.this, failure);
             complete(failure);
         }
 
diff --git a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-common/src/main/java/org/eclipse/jetty/quic/quiche/QuicheStream.java b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-common/src/main/java/org/eclipse/jetty/quic/quiche/QuicheStream.java
index 0d25c8eafbd..15d917036e9 100644
--- a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-common/src/main/java/org/eclipse/jetty/quic/quiche/QuicheStream.java
+++ b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-common/src/main/java/org/eclipse/jetty/quic/quiche/QuicheStream.java
@@ -187,7 +187,7 @@ public Content.Chunk read()
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("failure reading from {}", this);
+                LOG.debug("failure reading from {}", this, x);
 
             Content.Chunk failure;
             try (AutoLock ignored = lock.lock())
diff --git a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-server/src/main/java/org/eclipse/jetty/quic/quiche/server/QuicheServerConnectionFactory.java b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-server/src/main/java/org/eclipse/jetty/quic/quiche/server/QuicheServerConnectionFactory.java
index a4765147c57..3a57caa9147 100644
--- a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-server/src/main/java/org/eclipse/jetty/quic/quiche/server/QuicheServerConnectionFactory.java
+++ b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-server/src/main/java/org/eclipse/jetty/quic/quiche/server/QuicheServerConnectionFactory.java
@@ -95,7 +95,7 @@ public void onOpen(Session session)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("could not create ProtocolSession");
+                    LOG.debug("could not create ProtocolSession", x);
                 session.disconnect(new ConnectionCloseFrame(ErrorCode.APPLICATION_ERROR.code(), "invalid_protocol"), x, Promise.Invocable.noop());
             }
         }
diff --git a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-server/src/main/java/org/eclipse/jetty/quic/quiche/server/QuicheServerQuicConfiguration.java b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-server/src/main/java/org/eclipse/jetty/quic/quiche/server/QuicheServerQuicConfiguration.java
index ff2fc5e84fd..20c1168e99a 100644
--- a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-server/src/main/java/org/eclipse/jetty/quic/quiche/server/QuicheServerQuicConfiguration.java
+++ b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-server/src/main/java/org/eclipse/jetty/quic/quiche/server/QuicheServerQuicConfiguration.java
@@ -102,7 +102,7 @@ private void deleteFile(Path path)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("could not delete {}", path);
+                LOG.debug("could not delete {}", path, x);
         }
     }
 }
diff --git a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-server/src/main/java/org/eclipse/jetty/quic/quiche/server/internal/ServerQuicheConnection.java b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-server/src/main/java/org/eclipse/jetty/quic/quiche/server/internal/ServerQuicheConnection.java
index 757b165acd1..f25d50b3212 100644
--- a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-server/src/main/java/org/eclipse/jetty/quic/quiche/server/internal/ServerQuicheConnection.java
+++ b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-server/src/main/java/org/eclipse/jetty/quic/quiche/server/internal/ServerQuicheConnection.java
@@ -191,7 +191,7 @@ private Runnable produce()
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("produce() failure");
+                LOG.debug("produce() failure", x);
             buffer.release();
             fail(x);
             return null;
@@ -371,7 +371,7 @@ public void disconnect(QuicheSession session, ConnectionCloseFrame frame, Throwa
     private void fail(Throwable failure)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("failing connection {}", this);
+            LOG.debug("failing connection {}", this, failure);
         ConnectionCloseFrame frame = new ConnectionCloseFrame(ErrorCode.INTERNAL_ERROR.code(), "failure");
         for (ServerQuicheSession session : sessions.values())
         {
diff --git a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-server/src/main/java/org/eclipse/jetty/quic/quiche/server/internal/ServerQuicheSession.java b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-server/src/main/java/org/eclipse/jetty/quic/quiche/server/internal/ServerQuicheSession.java
index da729444e9a..325b0ac9384 100644
--- a/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-server/src/main/java/org/eclipse/jetty/quic/quiche/server/internal/ServerQuicheSession.java
+++ b/jetty-core/jetty-quic/jetty-quic-quiche/jetty-quic-quiche-server/src/main/java/org/eclipse/jetty/quic/quiche/server/internal/ServerQuicheSession.java
@@ -127,7 +127,7 @@ Runnable process(SocketAddress remoteAddress, ByteBuffer cipherBuffer)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("process failure for {}", this);
+                LOG.debug("process failure for {}", this, x);
             ConnectionCloseFrame frame = new ConnectionCloseFrame(ErrorCode.CONNECTION_REFUSED_ERROR.code(), "session_failure");
             disconnect(frame, x, Promise.Invocable.noop());
             return null;
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/AbstractNetworkConnector.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/AbstractNetworkConnector.java
index 8d5c53a8219..359001fb1f1 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/AbstractNetworkConnector.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/AbstractNetworkConnector.java
@@ -97,7 +97,7 @@ public void open() throws IOException
                 catch (Throwable x)
                 {
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                        LOG.debug("failure while notifying listener {}", listener, x);
                 }
             }
         }
@@ -117,7 +117,7 @@ public void close()
                 catch (Throwable x)
                 {
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(x).log("failure while notifying listener {}", listener);
+                        LOG.debug("failure while notifying listener {}", listener, x);
                 }
             }
         }
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/AllowedResourceAliasChecker.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/AllowedResourceAliasChecker.java
index 81987075a86..64c21bf3dbc 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/AllowedResourceAliasChecker.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/AllowedResourceAliasChecker.java
@@ -155,7 +155,7 @@ public boolean checkAlias(String pathInContext, Resource resource)
         catch (Throwable t)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(t).log("Failed to check alias");
+                LOG.debug("Failed to check alias", t);
             return false;
         }
     }
@@ -233,8 +233,8 @@ protected boolean isSameFile(Path path1, Path path2)
         }
         catch (Throwable t)
         {
-            if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(t).log("ignored");
+            if (LOG.isTraceEnabled())
+                LOG.trace("IGNORED", t);
         }
         return false;
     }
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/ConnectionLimit.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/ConnectionLimit.java
index a08e3acdfc3..fd45f2d0333 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/ConnectionLimit.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/ConnectionLimit.java
@@ -265,7 +265,7 @@ public void onAcceptFailed(SelectableChannel channel, Throwable cause)
         {
             _accepting--;
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("Accept failed ({}+{}) <= {} {}", _accepting, _connections, _maxConnections, channel);
+                LOG.debug("Accept failed ({}+{}) <= {} {}", _accepting, _connections, _maxConnections, channel, cause);
             check();
         }
     }
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/DetectorConnectionFactory.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/DetectorConnectionFactory.java
index b16d1f5056d..1c3d791db2d 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/DetectorConnectionFactory.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/DetectorConnectionFactory.java
@@ -270,7 +270,7 @@ private boolean detectAndUpgrade()
                     {
                         // It's just bubbling up from a nested Detector, so it's already handled, just rethrow it.
                         if (LOG.isDebugEnabled())
-                            LOG.atDebug().setCause(x).log("Detector {} failed to upgrade, rethrowing", getProtocol());
+                            LOG.debug("Detector {} failed to upgrade, rethrowing", getProtocol(), x);
                         throw x;
                     }
                     catch (Throwable x)
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/NegotiatingServerConnection.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/NegotiatingServerConnection.java
index 106ffca818b..5ee849ba56e 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/NegotiatingServerConnection.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/NegotiatingServerConnection.java
@@ -149,7 +149,7 @@ private int fill()
         catch (IOException x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Unable to fill from endpoint {}", getEndPoint());
+                LOG.debug("Unable to fill from endpoint {}", getEndPoint(), x);
             close();
             return -1;
         }
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/NetworkConnectionLimit.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/NetworkConnectionLimit.java
index 7615fc8cd7e..1b842daf89d 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/NetworkConnectionLimit.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/NetworkConnectionLimit.java
@@ -261,7 +261,7 @@ public void onAcceptFailed(SelectableChannel channel, Throwable cause)
         {
             _pendingConnections--;
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("Accept failed ({}+{}) <= {} {}", _pendingConnections, _connections, _maxNetworkConnections, channel);
+                LOG.debug("Accept failed ({}+{}) <= {} {}", _pendingConnections, _connections, _maxNetworkConnections, channel, cause);
             lockedCheck();
         }
     }
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/ServerConnector.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/ServerConnector.java
index 0a43a46aea1..8aba41dede0 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/ServerConnector.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/ServerConnector.java
@@ -362,7 +362,7 @@ private <T> void setSocketOption(ServerSocketChannel channel, SocketOption<T> op
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Could not configure {} to {} on {}", option, value, channel);
+                LOG.debug("Could not configure {} to {} on {}", option, value, channel, x);
         }
     }
 
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/ShutdownService.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/ShutdownService.java
index 0683e001370..0a07f52df76 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/ShutdownService.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/ShutdownService.java
@@ -402,14 +402,14 @@ public void run()
                     catch (Throwable x)
                     {
                         if (LOG.isDebugEnabled())
-                            LOG.atDebug().setCause(x).log("Failed to handle incoming shutdown client");
+                            LOG.debug("Failed to handle incoming shutdown client", x);
                     }
                 }
             }
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Failed ServerSocket");
+                    LOG.debug("Failed ServerSocket", x);
             }
             finally
             {
@@ -452,7 +452,7 @@ private void stopComponents(boolean destroy)
                 catch (Throwable x)
                 {
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(x).log("Unable to stop component: {}", component);
+                        LOG.debug("Unable to stop component: {}", component, x);
                 }
             }
         }
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/SymlinkAllowedResourceAliasChecker.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/SymlinkAllowedResourceAliasChecker.java
index 8e93c7ee2ee..f483239a5a4 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/SymlinkAllowedResourceAliasChecker.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/SymlinkAllowedResourceAliasChecker.java
@@ -116,7 +116,7 @@ protected boolean check(String pathInContext, Path path)
         catch (Throwable t)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(t).log("Failed to check alias");
+                LOG.debug("Failed to check alias", t);
             return false;
         }
 
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ConnectHandler.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ConnectHandler.java
index 7b9b6e3974a..0ae713b666c 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ConnectHandler.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ConnectHandler.java
@@ -345,7 +345,7 @@ protected void onConnectSuccess(ConnectContext connectContext, UpstreamConnectio
     protected void onConnectFailure(Request request, Response response, Callback callback, Throwable failure)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("CONNECT failed");
+            LOG.debug("CONNECT failed", failure);
         sendConnectResponse(request, response, callback, HttpStatus.INTERNAL_SERVER_ERROR_500);
     }
 
@@ -370,7 +370,7 @@ private void sendConnectResponse(Request request, Response response, Callback ca
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Could not send CONNECT response");
+                LOG.debug("Could not send CONNECT response", x);
         }
     }
 
@@ -636,7 +636,7 @@ public void failed(Throwable x)
                 {
                     buffer = null;
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(x).log("Failed to write initial {} bytes to server {}", remaining, DownstreamConnection.this);
+                        LOG.debug("Failed to write initial {} bytes to server {}", remaining, DownstreamConnection.this, x);
                     close();
                     getConnection().close();
                 }
@@ -754,7 +754,7 @@ protected Action process()
                 catch (IOException x)
                 {
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(x).log("Could not fill {}", TunnelConnection.this);
+                        LOG.debug("Could not fill {}", TunnelConnection.this, x);
                     buffer.release();
                     disconnect(x);
                     return Action.SUCCEEDED;
@@ -773,7 +773,7 @@ protected void onSuccess()
             protected void onFailure(Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Failed to write {} bytes {}", filled, TunnelConnection.this);
+                    LOG.debug("Failed to write {} bytes {}", filled, TunnelConnection.this, x);
                 disconnect(x);
             }
 
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java
index f15d53061ae..f1ddb58df24 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java
@@ -757,13 +757,11 @@ protected ClassLoader enterScope(Request contextRequest)
             catch (Throwable x)
             {
                 // Log as warning the first time it happens.
+                String message = "Error setting a context classloader on thread {}";
                 if (_enterScopeSetClassloaderFailed.compareAndSet(false, true))
-                    LOG.warn("Error setting a context classloader on thread {}", Thread.currentThread(), x);
-                else
-                {
-                    if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(x).log("Error setting a context classloader on thread {}", Thread.currentThread());
-                }
+                    LOG.warn(message, Thread.currentThread(), x);
+                else if (LOG.isDebugEnabled())
+                    LOG.debug(message, Thread.currentThread(), x);
             }
         }
         notifyEnterScope(contextRequest);
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ErrorHandler.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ErrorHandler.java
index f694767d37e..0bd0bc82285 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ErrorHandler.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ErrorHandler.java
@@ -271,7 +271,7 @@ else if (charsets.contains(StandardCharsets.ISO_8859_1))
                     if (showStacks)
                     {
                         if (LOG.isDebugEnabled())
-                            LOG.debug("Disable stacks for " + e);
+                            LOG.debug("Disable stacks for {}", String.valueOf(e));
 
                         showStacks = false;
                         continue;
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/EventsHandler.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/EventsHandler.java
index 1e6decba0e6..7912f42fd14 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/EventsHandler.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/EventsHandler.java
@@ -248,7 +248,7 @@ protected void onRequestRead(Request request, Content.Chunk chunk)
     protected void onAfterHandling(Request request, boolean handled, Throwable failure)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("onAfterHandling of {} handled={}", request, handled);
+            LOG.debug("onAfterHandling of {} handled={}", request, handled, failure);
     }
 
     /**
@@ -294,7 +294,7 @@ protected void onResponseWrite(Request request, boolean last, ByteBuffer content
     protected void onResponseWriteComplete(Request request, Throwable failure)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("onResponseWriteComplete of {}", request);
+            LOG.debug("onResponseWriteComplete of {}", request, failure);
     }
 
     /**
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/QoSHandler.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/QoSHandler.java
index baf18e3c07d..85ce862261b 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/QoSHandler.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/QoSHandler.java
@@ -462,7 +462,7 @@ private void resume(Throwable x)
             if (permits > 0)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("{} no suspended requests to resume", this);
+                    LOG.debug("{} no suspended requests to resume", this, x);
                 return;
             }
 
@@ -592,7 +592,7 @@ public void run()
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("{} failed {}", QoSHandler.this, request);
+                    LOG.debug("{} failed {}", QoSHandler.this, request, x);
                 failSuspended(request, response, callback, HttpStatus.INTERNAL_SERVER_ERROR_500, x);
             }
         }
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/internal/CompletionStreamWrapper.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/internal/CompletionStreamWrapper.java
index 22c49c09170..7c720973c31 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/internal/CompletionStreamWrapper.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/internal/CompletionStreamWrapper.java
@@ -49,7 +49,7 @@ public void succeeded()
     public void failed(Throwable x)
     {
         if (Request.LOG.isDebugEnabled())
-            Request.LOG.atDebug().setCause(x).log("failed {}", this);
+            Request.LOG.debug("failed {}", this, x);
         onCompletion(x);
         super.failed(x);
     }
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/internal/HttpChannelState.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/internal/HttpChannelState.java
index dbdd8be186a..e897fd9f6f2 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/internal/HttpChannelState.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/internal/HttpChannelState.java
@@ -400,7 +400,7 @@ public IdleTimeoutTask onIdleTimeout(TimeoutException t)
         try (AutoLock ignored = _lock.lock())
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(t).log("onIdleTimeout {}", this);
+                LOG.debug("onIdleTimeout {}", this, t);
 
             // Either too early or too late.
             if (_stream == null || _request == null)
@@ -478,7 +478,7 @@ private Runnable onFailure(Throwable x, boolean remote)
         try (AutoLock ignored = _lock.lock())
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("onFailure remote={} {}", remote, this);
+                LOG.debug("onFailure remote={} {}", remote, this, x);
 
             // If the channel doesn't have a stream, then the error is ignored.
             stream = _stream;
@@ -532,7 +532,7 @@ private Runnable onFailure(Throwable x, boolean remote)
                     try
                     {
                         if (LOG.isDebugEnabled())
-                            LOG.atDebug().setCause(x).log("invoking failure listeners {} {}", HttpChannelState.this, onFailure);
+                            LOG.debug("invoking failure listeners {} {}", HttpChannelState.this, onFailure, x);
                         onFailure.accept(x);
                     }
                     catch (Throwable throwable)
@@ -721,7 +721,7 @@ private void completeStream(HttpStream stream, Throwable failure)
 
             // This is THE ONLY PLACE the stream is succeeded or failed.
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("completing the stream of {}", this);
+                LOG.debug("completing the stream of {}", this, failure);
             if (failure == null)
                 stream.succeeded();
             else
@@ -1455,7 +1455,7 @@ public void succeeded()
         public void failed(Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("write failed {}", this);
+                LOG.debug("write failed {}", this, x);
             Callback callback;
             HttpChannelState httpChannel;
             try (AutoLock ignored = _request._lock.lock())
@@ -1660,7 +1660,7 @@ private void completeChannelCallback(Throwable failure)
                     else if (failure != null && unconsumed != null)
                         ExceptionUtil.addSuppressedIfNotAssociated(failure, unconsumed);
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(failure).log("consumeAvailable: {} {}", unconsumed == null, httpChannelState);
+                        LOG.debug("consumeAvailable: {} {}", unconsumed == null, httpChannelState, failure);
                 }
 
                 // Pending writes are also failures
@@ -1912,7 +1912,7 @@ public void succeeded()
         public void failed(Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("ErrorWrite failed: {}", this);
+                LOG.debug("ErrorWrite failed: {}", this, x);
             Throwable failure;
             HttpChannelState httpChannelState;
             try (AutoLock ignored = _request._lock.lock())
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/internal/HttpConnection.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/internal/HttpConnection.java
index cb0dd78ee2c..f946f408cda 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/internal/HttpConnection.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/internal/HttpConnection.java
@@ -478,7 +478,7 @@ else if (_requestHandler._failure != null)
             try
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("caught exception {} {}", this, _httpChannel);
+                    LOG.debug("caught exception {} {}", this, _httpChannel, x);
                 if (_requestBuffer != null)
                     releaseRequestBuffer();
             }
@@ -591,7 +591,7 @@ else if (filled < 0)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Unable to fill from endpoint {}", getEndPoint());
+                LOG.debug("Unable to fill from endpoint {}", getEndPoint(), x);
             _parser.atEOF();
             return -1;
         }
@@ -726,7 +726,7 @@ public void failed(Throwable x)
         {
             Runnable task = _httpChannel.onFailure(x);
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("demand failed {}", task);
+                LOG.debug("demand failed {}", task, x);
             ThreadPool.executeImmediately(getConnector().getExecutor(), task);
         }
 
@@ -1723,12 +1723,12 @@ public void failed(Throwable x)
             HttpStreamOverHTTP1 stream = _stream.getAndSet(null);
             if (stream == null)
             {
-                if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("ignored");
+                if (LOG.isTraceEnabled())
+                    LOG.trace("IGNORED", x);
                 return;
             }
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("aborting");
+                LOG.debug("aborting", x);
             abort(x);
             _httpChannel.setHttpStream(null);
             if (!_handling.compareAndSet(true, false))
diff --git a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/IteratingCallback.java b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/IteratingCallback.java
index b31952b1499..983728368d6 100644
--- a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/IteratingCallback.java
+++ b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/IteratingCallback.java
@@ -607,7 +607,7 @@ public final void failed(Throwable cause)
         try (AutoLock ignored = _lock.lock())
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("failed {}", this);
+                LOG.debug("failed {}", this, cause);
             switch (_state)
             {
                 case PROCESSING:
@@ -750,7 +750,7 @@ public final boolean abort(Throwable cause)
         try (AutoLock ignored = _lock.lock())
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("abort {}", this);
+                LOG.debug("abort {}", this, cause);
 
             // Are we already aborted?
             if (_aborted)
diff --git a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/RolloverFileOutputStream.java b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/RolloverFileOutputStream.java
index 5f7a8a62d04..a3402da4ef2 100644
--- a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/RolloverFileOutputStream.java
+++ b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/RolloverFileOutputStream.java
@@ -268,7 +268,6 @@ else if (!dir.canWrite())
                     renameFile(file, backupFile);
                 }
                 _out = new FileOutputStream(file.toString(), _append);
-                //if(log.isDebugEnabled())log.debug("Opened "+_file);
             }
         }
 
diff --git a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/SharedBlockingCallback.java b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/SharedBlockingCallback.java
index 5dc0bc570d0..77ac235e5ce 100644
--- a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/SharedBlockingCallback.java
+++ b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/SharedBlockingCallback.java
@@ -179,7 +179,7 @@ else if (_state instanceof BlockerTimeoutException || _state instanceof BlockerF
                     // Failure arrived late, block() already
                     // modified the state, nothing more to do.
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(_state).log("Failed after");
+                        LOG.debug("Failed after", _state);
                 }
                 else
                 {
@@ -187,8 +187,8 @@ else if (_state instanceof BlockerTimeoutException || _state instanceof BlockerF
                     LOG.warn(msg);
                     if (LOG.isDebugEnabled())
                     {
-                        LOG.atDebug().setCause(_state).log(msg);
-                        LOG.atDebug().setCause(cause).log(msg);
+                        LOG.debug(msg, _state);
+                        LOG.debug(msg, cause);
                     }
                 }
             }
diff --git a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/resource/Resource.java b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/resource/Resource.java
index b2497ea6a26..7c715c3a40a 100644
--- a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/resource/Resource.java
+++ b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/resource/Resource.java
@@ -456,8 +456,8 @@ public boolean isSameFile(Path path)
         }
         catch (Throwable t)
         {
-            if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(t).log("ignored");
+            if (LOG.isTraceEnabled())
+                LOG.trace("IGNORED", t);
         }
         return false;
     }
diff --git a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/ssl/SniX509ExtendedKeyManager.java b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/ssl/SniX509ExtendedKeyManager.java
index 0680fa008cb..08081f0a53e 100644
--- a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/ssl/SniX509ExtendedKeyManager.java
+++ b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/ssl/SniX509ExtendedKeyManager.java
@@ -182,7 +182,7 @@ protected String chooseServerAlias(String keyType, Principal[] issuers, Collecti
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Failure matching X509 for SNI {}", host);
+                LOG.debug("Failure matching X509 for SNI {}", host, x);
             return null;
         }
     }
diff --git a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/ssl/SslContextFactory.java b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/ssl/SslContextFactory.java
index a595c26a488..fc0bd78ad45 100644
--- a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/ssl/SslContextFactory.java
+++ b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/ssl/SslContextFactory.java
@@ -1726,7 +1726,7 @@ protected CertificateFactory getCertificateFactoryInstance(String type) throws C
         {
             String msg = String.format("Unable to get CertificateFactory instance for type [%s] on provider [%s], using default", type, provider);
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log(msg);
+                LOG.debug(msg, cause);
         }
 
         return CertificateFactory.getInstance(type);
@@ -1746,7 +1746,7 @@ protected CertStore getCertStoreInstance(Collection<? extends CRL> crls) throws
         {
             String msg = String.format("Unable to get CertStore instance for type [%s] on provider [%s], using default", type, provider);
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log(msg);
+                LOG.debug(msg, cause);
         }
 
         return CertStore.getInstance(type, new CollectionCertStoreParameters(crls));
@@ -1766,7 +1766,7 @@ protected KeyManagerFactory getKeyManagerFactoryInstance() throws NoSuchAlgorith
         {
             String msg = String.format("Unable to get KeyManagerFactory instance for algorithm [%s] on provider [%s], using default", algorithm, provider);
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log(msg);
+                LOG.debug(msg, cause);
         }
 
         return KeyManagerFactory.getInstance(algorithm);
@@ -1789,7 +1789,7 @@ protected SecureRandom getSecureRandomInstance() throws NoSuchAlgorithmException
             {
                 String msg = String.format("Unable to get SecureRandom instance for algorithm [%s] on provider [%s], using default", algorithm, provider);
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(cause).log(msg);
+                    LOG.debug(msg, cause);
             }
 
             return SecureRandom.getInstance(algorithm);
@@ -1812,7 +1812,7 @@ protected SSLContext getSSLContextInstance() throws NoSuchAlgorithmException
         {
             String msg = String.format("Unable to get SSLContext instance for protocol [%s] on provider [%s], using default", protocol, provider);
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log(msg);
+                LOG.debug(msg, cause);
         }
 
         return SSLContext.getInstance(protocol);
@@ -1831,7 +1831,7 @@ protected TrustManagerFactory getTrustManagerFactoryInstance() throws NoSuchAlgo
         {
             String msg = String.format("Unable to get TrustManagerFactory instance for algorithm [%s] on provider [%s], using default", algorithm, provider);
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log(msg);
+                LOG.debug(msg, cause);
         }
 
         return TrustManagerFactory.getInstance(algorithm);
diff --git a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/thread/ReservedThreadExecutor.java b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/thread/ReservedThreadExecutor.java
index daf49363f58..d9fb2378241 100644
--- a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/thread/ReservedThreadExecutor.java
+++ b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/thread/ReservedThreadExecutor.java
@@ -284,7 +284,7 @@ public void run()
                 {
                     int slot = _threads.offer(this);
                     if (LOG.isDebugEnabled())
-                        LOG.debug("offered to slot " + slot);
+                        LOG.debug("offered to slot {}", slot);
 
                     if (slot < 0)
                         // no slot available
@@ -319,7 +319,7 @@ public void run()
                     catch (Throwable t)
                     {
                         if (LOG.isDebugEnabled())
-                            LOG.atDebug().setCause(t).log("{} task {} failure", ReservedThreadExecutor.this, task);
+                            LOG.debug("{} task {} failure", ReservedThreadExecutor.this, task, t);
                     }
                     finally
                     {
@@ -332,7 +332,7 @@ public void run()
             catch (Throwable t)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(t).log("{} reservedThread {} failure", ReservedThreadExecutor.this, this);
+                    LOG.debug("{} reservedThread {} failure", ReservedThreadExecutor.this, this, t);
             }
             finally
             {
diff --git a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/thread/SerializedInvoker.java b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/thread/SerializedInvoker.java
index 9fd34c25216..aa680279d34 100644
--- a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/thread/SerializedInvoker.java
+++ b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/thread/SerializedInvoker.java
@@ -276,7 +276,7 @@ public void run()
                 catch (Throwable t)
                 {
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(t).log("Failed while running {} of {}", link, SerializedInvoker.this);
+                        LOG.debug("Failed while running {} of {}", link, SerializedInvoker.this, t);
                     onError(task, t);
                 }
                 finally
diff --git a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/thread/ThreadPool.java b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/thread/ThreadPool.java
index 49d3d4641fc..b62db22fb91 100644
--- a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/thread/ThreadPool.java
+++ b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/thread/ThreadPool.java
@@ -148,7 +148,7 @@ static boolean reject(Runnable task, Throwable cause)
     {
         Logger log = LoggerFactory.getLogger(ThreadPool.class);
         if (log.isDebugEnabled())
-            log.atDebug().setCause(cause).log("rejected {}", task);
+            log.debug("rejected {}", task, cause);
         if (task instanceof Closeable closeable)
         {
             try
diff --git a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/thread/VirtualThreadPool.java b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/thread/VirtualThreadPool.java
index 60a94f60830..79ec4f88425 100644
--- a/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/thread/VirtualThreadPool.java
+++ b/jetty-core/jetty-util/src/main/java/org/eclipse/jetty/util/thread/VirtualThreadPool.java
@@ -301,7 +301,7 @@ public void execute(Runnable task)
                 {
                     // Likely stopping this component, exit.
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(x).log("interrupted while waiting for permit {}", task);
+                        LOG.debug("interrupted while waiting for permit {}", task, x);
                 }
                 finally
                 {
diff --git a/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/ExtensionStack.java b/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/ExtensionStack.java
index eb42585231e..6120c6bc081 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/ExtensionStack.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/ExtensionStack.java
@@ -66,7 +66,7 @@ public void close()
             catch (Throwable t)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(t).log("Extension Error During Close");
+                    LOG.debug("Extension Error During Close", t);
             }
         }
     }
diff --git a/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/WebSocketCoreSession.java b/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/WebSocketCoreSession.java
index 514814596f6..8091c276813 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/WebSocketCoreSession.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/WebSocketCoreSession.java
@@ -285,7 +285,7 @@ private void closeConnection(CloseStatus closeStatus, Callback callback)
     public void processConnectionError(Throwable cause, Callback callback)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log("processConnectionError {}", this);
+            LOG.debug("processConnectionError {}", this, cause);
 
         int code;
         if (cause instanceof CloseException)
@@ -310,7 +310,7 @@ else if (cause instanceof WebSocketTimeoutException || cause instanceof TimeoutE
     public void processHandlerError(Throwable cause, Callback callback)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log("processHandlerError {}", this);
+            LOG.debug("processHandlerError {}", this, cause);
 
         int code;
         if (cause instanceof CloseException)
@@ -370,7 +370,7 @@ public void onOpen()
         x ->
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Error during OPEN");
+                LOG.debug("Error during OPEN", x);
             processHandlerError(new CloseException(CloseStatus.SERVER_ERROR, x), NOOP);
         });
 
diff --git a/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/FrameFlusher.java b/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/FrameFlusher.java
index 7036fc771ae..ec51127f386 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/FrameFlusher.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/FrameFlusher.java
@@ -455,7 +455,7 @@ protected void notifyCallbackSuccess(Callback callback)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Exception while notifying success of callback {}", callback);
+                LOG.debug("Exception while notifying success of callback {}", callback, x);
         }
     }
 
@@ -471,7 +471,7 @@ protected void notifyCallbackFailure(Callback callback, Throwable failure)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Exception while notifying failure of callback {}", callback);
+                LOG.debug("Exception while notifying failure of callback {}", callback, x);
         }
     }
 
diff --git a/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/MessageHandler.java b/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/MessageHandler.java
index 3aeca1a433e..5fe197b9485 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/MessageHandler.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/MessageHandler.java
@@ -155,7 +155,7 @@ public void onFrame(Frame frame, Callback callback)
     public void onError(Throwable cause, Callback callback)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log("onError ");
+            LOG.debug("onError ", cause);
 
         callback.succeeded();
     }
diff --git a/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/Parser.java b/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/Parser.java
index 8971e532166..7626f40a596 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/Parser.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/internal/Parser.java
@@ -233,7 +233,7 @@ else if (payloadLength == 0)
         catch (Throwable t)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(t).log("{} Parse Error {}", this, BufferUtil.toDetailString(buffer));
+                LOG.debug("{} Parse Error {}", this, BufferUtil.toDetailString(buffer), t);
 
             buffer.position(buffer.limit()); // consume remaining
 
diff --git a/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageInputStream.java b/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageInputStream.java
index d776d66c2f7..ac260f035a1 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageInputStream.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/messages/MessageInputStream.java
@@ -163,7 +163,7 @@ public int read(ByteBuffer buffer) throws IOException
     public void fail(Throwable failure)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("fail()");
+            LOG.debug("fail()", failure);
 
         ArrayList<Entry> entries = new ArrayList<>();
         try (AutoLock.WithCondition l = lock.lock())
diff --git a/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/InvokerUtils.java b/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/InvokerUtils.java
index 6e54c8bb672..a8972ae2134 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/InvokerUtils.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-core-common/src/main/java/org/eclipse/jetty/websocket/core/util/InvokerUtils.java
@@ -464,7 +464,7 @@ private static MethodHandle mutatedInvoker(MethodHandles.Lookup lookup,
             if (!throwOnFailure)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.debug("Unable to obtain MethodHandle for " + method, e);
+                    LOG.debug("Unable to obtain MethodHandle for {}", method, e);
                 return null;
             }
 
diff --git a/jetty-core/jetty-websocket/jetty-websocket-jetty-server/src/main/java/org/eclipse/jetty/websocket/server/ServerWebSocketContainer.java b/jetty-core/jetty-websocket/jetty-websocket-jetty-server/src/main/java/org/eclipse/jetty/websocket/server/ServerWebSocketContainer.java
index 11a1d3350bb..20f75901b81 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-jetty-server/src/main/java/org/eclipse/jetty/websocket/server/ServerWebSocketContainer.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-jetty-server/src/main/java/org/eclipse/jetty/websocket/server/ServerWebSocketContainer.java
@@ -180,7 +180,7 @@ public void notifySessionListeners(Consumer<WebSocketSessionListener> consumer)
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Failure while invoking listener {}", listener);
+                    LOG.debug("Failure while invoking listener {}", listener, x);
             }
         }
     }
@@ -374,7 +374,7 @@ private org.eclipse.jetty.websocket.core.server.WebSocketCreator newWebSocketCre
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Could not create WebSocket endpoint");
+                    LOG.debug("Could not create WebSocket endpoint", x);
                 cb.failed(x);
                 return null;
             }
diff --git a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/HttpInput.java b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/HttpInput.java
index 1c72d9f7a4f..d7a04b9d5ad 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/HttpInput.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/HttpInput.java
@@ -380,7 +380,7 @@ else if (chunk.isLast() && !chunk.hasRemaining())
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("running failed onAllDataRead {}", this);
+                    LOG.debug("running failed onAllDataRead {}", this, x);
                 _readListener.onError(x);
             }
         }
@@ -395,7 +395,7 @@ else if (chunk.isLast() && !chunk.hasRemaining())
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("running failed onDataAvailable {}", this);
+                    LOG.debug("running failed onDataAvailable {}", this, x);
                 _readListener.onError(x);
             }
         }
diff --git a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/HttpOutput.java b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/HttpOutput.java
index 0a9957a70c1..949172ac913 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/HttpOutput.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/HttpOutput.java
@@ -303,8 +303,8 @@ else if (_state == State.CLOSE)
             }
 
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("onWriteComplete({},{}) {}->{} c={} cb={} w={}",
-                    last, failure, state, lockedStateString(), BufferUtil.toDetailString(closeContent), closedCallback, wake);
+                LOG.debug("onWriteComplete({}) {}->{} c={} cb={} w={}",
+                    last, state, lockedStateString(), BufferUtil.toDetailString(closeContent), closedCallback, wake, failure);
         }
 
         try
@@ -1451,7 +1451,7 @@ public void writeCallback()
             if (LOG.isDebugEnabled())
             {
                 t.addSuppressed(error);
-                LOG.atDebug().setCause(t).log("Failed in call onError on {}", _writeListener);
+                LOG.debug("Failed in call onError on {}", _writeListener, t);
             }
         }
         finally
diff --git a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ResourceServlet.java b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ResourceServlet.java
index 63d51de3287..7439dc979d2 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ResourceServlet.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ResourceServlet.java
@@ -823,7 +823,7 @@ protected void writeHttpError(Request coreRequest, Response coreResponse, Callba
         protected void writeHttpError(Request coreRequest, Response coreResponse, Callback callback, Throwable cause)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("writeHttpError(coreRequest={}, coreResponse={}, callback={})", coreRequest, coreResponse, callback);
+                LOG.debug("writeHttpError(coreRequest={}, coreResponse={}, callback={})", coreRequest, coreResponse, callback, cause);
 
             int statusCode = HttpStatus.INTERNAL_SERVER_ERROR_500;
             String reason = null;
@@ -839,7 +839,7 @@ protected void writeHttpError(Request coreRequest, Response coreResponse, Callba
         protected void writeHttpError(Request coreRequest, Response coreResponse, Callback callback, int statusCode, String reason, Throwable cause)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("writeHttpError(coreRequest={}, coreResponse={}, callback={}, statusCode={}, reason={})", coreRequest, coreResponse, callback, statusCode, reason);
+                LOG.debug("writeHttpError(coreRequest={}, coreResponse={}, callback={}, statusCode={}, reason={})", coreRequest, coreResponse, callback, statusCode, reason, cause);
             HttpServletRequest request = getServletRequest(coreRequest);
             HttpServletResponse response = getServletResponse(coreResponse);
             try
@@ -1012,7 +1012,7 @@ public void failed(Throwable x)
             try
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("AsyncContextCallback failed {}", _asyncContext);
+                    LOG.debug("AsyncContextCallback failed {}", _asyncContext, x);
                 // It is known that this callback is only failed if the response is already committed,
                 // thus we can only abort the response here.
                 _response.sendError(-1);
@@ -1026,7 +1026,7 @@ public void failed(Throwable x)
                 _asyncContext.complete();
             }
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Async get failed");
+                LOG.debug("Async get failed", x);
         }
     }
 }
diff --git a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletApiRequest.java b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletApiRequest.java
index 448a549ba1a..32e6c0d5f39 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletApiRequest.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletApiRequest.java
@@ -733,7 +733,7 @@ else if (getCharacterEncoding() != null)
             catch (Throwable t)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(t).log("getParts");
+                    LOG.debug("getParts", t);
 
                 Throwable cause;
                 if (t instanceof ExecutionException ee)
diff --git a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletChannel.java b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletChannel.java
index 099b0bc4a4d..c0a18f5964a 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletChannel.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletChannel.java
@@ -515,7 +515,7 @@ public void handle()
                             else
                                 ExceptionUtil.addSuppressedIfNotAssociated(cause, x);
                             if (LOG.isDebugEnabled())
-                                LOG.atDebug().setCause(cause).log("Could not perform error handling, aborting");
+                                LOG.debug("Could not perform error handling, aborting", cause);
 
                             try
                             {
@@ -695,7 +695,7 @@ protected void handleException(Throwable failure)
         if (quiet != null || !getServer().isRunning())
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log(_servletContextRequest.getServletApiRequest().getRequestURI());
+                LOG.debug(_servletContextRequest.getServletApiRequest().getRequestURI(), failure);
         }
         else if (noStack != null)
         {
diff --git a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletChannelState.java b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletChannelState.java
index e4f0339fd9a..fb6bf71ffb4 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletChannelState.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletChannelState.java
@@ -398,7 +398,7 @@ public void abort(Throwable failure)
         {
             boolean aborted = abortResponse(failure);
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("abort={} {}", aborted, this);
+                LOG.debug("abort={} {}", aborted, this, failure);
             if (aborted)
             {
                 handle = _state == State.WAITING;
@@ -664,7 +664,7 @@ void errorHandlingComplete(Throwable failure)
         try (AutoLock ignored = lock())
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("errorHandlingComplete {}", toStringLocked());
+                LOG.debug("errorHandlingComplete {}", toStringLocked(), failure);
 
             handle = _state == State.WAITING;
             if (handle)
@@ -864,7 +864,7 @@ public void asyncError(Throwable failure)
         try (AutoLock ignored = lock())
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("asyncError {}", toStringLocked());
+                LOG.debug("asyncError {}", toStringLocked(), failure);
 
             if (_state == State.WAITING && _requestState == RequestState.ASYNC)
             {
@@ -877,7 +877,7 @@ public void asyncError(Throwable failure)
                 if (!QuietException.isQuiet(failure))
                     LOG.warn(failure.toString());
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(failure).log("Async error");
+                    LOG.debug("Async error", failure);
             }
         }
 
diff --git a/jetty-ee10/jetty-ee10-servlets/src/main/java/org/eclipse/jetty/ee10/servlets/CrossOriginFilter.java b/jetty-ee10/jetty-ee10-servlets/src/main/java/org/eclipse/jetty/ee10/servlets/CrossOriginFilter.java
index f639dfe771c..bd207fb4a87 100644
--- a/jetty-ee10/jetty-ee10-servlets/src/main/java/org/eclipse/jetty/ee10/servlets/CrossOriginFilter.java
+++ b/jetty-ee10/jetty-ee10-servlets/src/main/java/org/eclipse/jetty/ee10/servlets/CrossOriginFilter.java
@@ -434,7 +434,7 @@ private boolean isMethodAllowed(HttpServletRequest request)
         if (accessControlRequestMethod != null)
             result = allowedMethods.contains(accessControlRequestMethod);
         if (LOG.isDebugEnabled())
-            LOG.debug("Method {} is" + (result ? "" : " not") + " among allowed methods {}", accessControlRequestMethod, allowedMethods);
+            LOG.debug("Method {} is{} among allowed methods {}", accessControlRequestMethod, result ? "" : " not", allowedMethods);
         return result;
     }
 
@@ -485,7 +485,7 @@ private boolean areHeadersAllowed(List<String> requestedHeaders)
             }
         }
         if (LOG.isDebugEnabled())
-            LOG.debug("Headers [{}] are" + (result ? "" : " not") + " among allowed headers {}", requestedHeaders, allowedHeaders);
+            LOG.debug("Headers [{}] are{} among allowed headers {}", requestedHeaders, result ? "" : " not", allowedHeaders);
         return result;
     }
 
diff --git a/jetty-ee10/jetty-ee10-servlets/src/main/java/org/eclipse/jetty/ee10/servlets/QoSFilter.java b/jetty-ee10/jetty-ee10-servlets/src/main/java/org/eclipse/jetty/ee10/servlets/QoSFilter.java
index a95e1dc3d10..716ab164175 100644
--- a/jetty-ee10/jetty-ee10-servlets/src/main/java/org/eclipse/jetty/ee10/servlets/QoSFilter.java
+++ b/jetty-ee10/jetty-ee10-servlets/src/main/java/org/eclipse/jetty/ee10/servlets/QoSFilter.java
@@ -234,7 +234,7 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha
                             catch (IllegalStateException x)
                             {
                                 if (LOG.isDebugEnabled())
-                                    LOG.atDebug().setCause(x).log("dispatch failed");
+                                    LOG.debug("dispatch failed", x);
                             }
                         }
                     }
diff --git a/jetty-ee10/jetty-ee10-webapp/src/main/java/org/eclipse/jetty/ee10/webapp/JettyWebXmlConfiguration.java b/jetty-ee10/jetty-ee10-webapp/src/main/java/org/eclipse/jetty/ee10/webapp/JettyWebXmlConfiguration.java
index f562fbc3b7e..4535511de8e 100644
--- a/jetty-ee10/jetty-ee10-webapp/src/main/java/org/eclipse/jetty/ee10/webapp/JettyWebXmlConfiguration.java
+++ b/jetty-ee10/jetty-ee10-webapp/src/main/java/org/eclipse/jetty/ee10/webapp/JettyWebXmlConfiguration.java
@@ -116,7 +116,7 @@ private Resource resolveJettyWebXml(Resource webInf)
         catch (Exception e)
         {
             if (LOG.isDebugEnabled())
-                LOG.debug("Error resolving WEB-INF/" + xmlFile, e);
+                LOG.debug("Error resolving WEB-INF/{}", xmlFile, e);
             return null;
         }
     }
diff --git a/jetty-ee10/jetty-ee10-webapp/src/main/java/org/eclipse/jetty/ee10/webapp/MetaInfConfiguration.java b/jetty-ee10/jetty-ee10-webapp/src/main/java/org/eclipse/jetty/ee10/webapp/MetaInfConfiguration.java
index cffcd2a35a8..5c74115a0eb 100644
--- a/jetty-ee10/jetty-ee10-webapp/src/main/java/org/eclipse/jetty/ee10/webapp/MetaInfConfiguration.java
+++ b/jetty-ee10/jetty-ee10-webapp/src/main/java/org/eclipse/jetty/ee10/webapp/MetaInfConfiguration.java
@@ -146,7 +146,7 @@ public void findAndFilterContainerPaths(final WebAppContext context)
             if (Resources.missing(resource))
             {
                 if (LOG.isDebugEnabled())
-                    LOG.debug("Classpath URI doesn't exist: " + resource);
+                    LOG.debug("Classpath URI doesn't exist: {}", resource);
             }
             else
             {
diff --git a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-server/src/main/java/org/eclipse/jetty/ee10/websocket/jakarta/server/internal/JakartaWebSocketCreator.java b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-server/src/main/java/org/eclipse/jetty/ee10/websocket/jakarta/server/internal/JakartaWebSocketCreator.java
index 2c83c0aa950..994ec93a916 100644
--- a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-server/src/main/java/org/eclipse/jetty/ee10/websocket/jakarta/server/internal/JakartaWebSocketCreator.java
+++ b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-server/src/main/java/org/eclipse/jetty/ee10/websocket/jakarta/server/internal/JakartaWebSocketCreator.java
@@ -167,7 +167,7 @@ public Map<String, Object> getUserProperties()
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Unable to create websocket: {}", config.getEndpointClass().getName());
+                LOG.debug("Unable to create websocket: {}", config.getEndpointClass().getName(), x);
             callback.failed(x);
             return null;
         }
diff --git a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jetty-server/src/main/java/org/eclipse/jetty/ee10/websocket/server/JettyWebSocketServerContainer.java b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jetty-server/src/main/java/org/eclipse/jetty/ee10/websocket/server/JettyWebSocketServerContainer.java
index 35b7e166835..0ae85259f88 100644
--- a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jetty-server/src/main/java/org/eclipse/jetty/ee10/websocket/server/JettyWebSocketServerContainer.java
+++ b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jetty-server/src/main/java/org/eclipse/jetty/ee10/websocket/server/JettyWebSocketServerContainer.java
@@ -161,7 +161,7 @@ public void addMapping(String pathSpec, JettyWebSocketCreator creator)
             catch (Throwable t)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(t).log("Could not create WebSocket endpoint");
+                    LOG.debug("Could not create WebSocket endpoint", t);
                 cb.failed(t);
                 return null;
             }
@@ -214,7 +214,7 @@ public boolean upgrade(JettyWebSocketCreator creator, HttpServletRequest request
             catch (Throwable t)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(t).log("Could not create WebSocket endpoint");
+                    LOG.debug("Could not create WebSocket endpoint", t);
                 cb.failed(t);
                 return null;
             }
diff --git a/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/HttpInput.java b/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/HttpInput.java
index bfc3245d2dc..628be80a30b 100644
--- a/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/HttpInput.java
+++ b/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/HttpInput.java
@@ -380,7 +380,7 @@ else if (chunk.isLast() && !chunk.hasRemaining())
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("running failed onAllDataRead {}", this);
+                    LOG.debug("running failed onAllDataRead {}", this, x);
                 _readListener.onError(x);
             }
         }
@@ -395,7 +395,7 @@ else if (chunk.isLast() && !chunk.hasRemaining())
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("running failed onDataAvailable {}", this);
+                    LOG.debug("running failed onDataAvailable {}", this, x);
                 _readListener.onError(x);
             }
         }
diff --git a/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/HttpOutput.java b/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/HttpOutput.java
index 7d6e905fee8..ebfc45aefdd 100644
--- a/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/HttpOutput.java
+++ b/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/HttpOutput.java
@@ -296,10 +296,8 @@ else if (_state == State.CLOSE)
             }
 
             if (LOG.isDebugEnabled())
-                LOG.atDebug()
-                    .setCause(failure)
-                    .log("onWriteComplete({}) {}->{} c={} cb={} w={}",
-                        last, state, lockedStateString(), BufferUtil.toDetailString(closeContent), closedCallback, wake);
+                LOG.debug("onWriteComplete({}) {}->{} c={} cb={} w={}",
+                    last, state, lockedStateString(), BufferUtil.toDetailString(closeContent), closedCallback, wake, failure);
         }
 
         try
@@ -1440,7 +1438,7 @@ public void writeCallback()
             if (LOG.isDebugEnabled())
             {
                 t.addSuppressed(error);
-                LOG.atDebug().setCause(t).log("Failed in call onError on {}", _writeListener);
+                LOG.debug("Failed in call onError on {}", _writeListener, t);
             }
         }
         finally
diff --git a/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/ResourceServlet.java b/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/ResourceServlet.java
index 90342a27b9d..e9868ca7561 100644
--- a/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/ResourceServlet.java
+++ b/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/ResourceServlet.java
@@ -835,7 +835,7 @@ protected void writeHttpError(Request coreRequest, Response coreResponse, Callba
         protected void writeHttpError(Request coreRequest, Response coreResponse, Callback callback, Throwable cause)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("writeHttpError(coreRequest={}, coreResponse={}, callback={})", coreRequest, coreResponse, callback);
+                LOG.debug("writeHttpError(coreRequest={}, coreResponse={}, callback={})", coreRequest, coreResponse, callback, cause);
 
             int statusCode = HttpStatus.INTERNAL_SERVER_ERROR_500;
             String reason = null;
@@ -851,7 +851,7 @@ protected void writeHttpError(Request coreRequest, Response coreResponse, Callba
         protected void writeHttpError(Request coreRequest, Response coreResponse, Callback callback, int statusCode, String reason, Throwable cause)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("writeHttpError(coreRequest={}, coreResponse={}, callback={}, statusCode={}, reason={})", coreRequest, coreResponse, callback, statusCode, reason);
+                LOG.debug("writeHttpError(coreRequest={}, coreResponse={}, callback={}, statusCode={}, reason={})", coreRequest, coreResponse, callback, statusCode, reason, cause);
             HttpServletRequest request = getServletRequest(coreRequest);
             HttpServletResponse response = getServletResponse(coreResponse);
             try
@@ -1024,7 +1024,7 @@ public void failed(Throwable x)
             try
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("AsyncContextCallback failed {}", _asyncContext);
+                    LOG.debug("AsyncContextCallback failed {}", _asyncContext, x);
                 // It is known that this callback is only failed if the response is already committed,
                 // thus we can only abort the response here.
                 _response.sendError(-1);
@@ -1038,7 +1038,7 @@ public void failed(Throwable x)
                 _asyncContext.complete();
             }
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Async get failed");
+                LOG.debug("Async get failed", x);
         }
     }
 }
diff --git a/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/ServletApiRequest.java b/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/ServletApiRequest.java
index ea0c51c0896..2623525b9ff 100644
--- a/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/ServletApiRequest.java
+++ b/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/ServletApiRequest.java
@@ -732,7 +732,7 @@ else if (getCharacterEncoding() != null)
             catch (Throwable t)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(t).log("getParts");
+                    LOG.debug("getParts", t);
 
                 Throwable cause;
                 if (t instanceof ExecutionException ee)
diff --git a/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/ServletChannel.java b/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/ServletChannel.java
index c9131c062fb..cc1ae77aa5d 100644
--- a/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/ServletChannel.java
+++ b/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/ServletChannel.java
@@ -515,7 +515,7 @@ public void handle()
                             else
                                 ExceptionUtil.addSuppressedIfNotAssociated(cause, x);
                             if (LOG.isDebugEnabled())
-                                LOG.atDebug().setCause(cause).log("Could not perform error handling, aborting");
+                                LOG.debug("Could not perform error handling, aborting", cause);
 
                             try
                             {
@@ -695,7 +695,7 @@ protected void handleException(Throwable failure)
         if (quiet != null || !getServer().isRunning())
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log(_servletContextRequest.getServletApiRequest().getRequestURI());
+                LOG.debug(_servletContextRequest.getServletApiRequest().getRequestURI(), failure);
         }
         else if (noStack != null)
         {
diff --git a/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/ServletChannelState.java b/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/ServletChannelState.java
index 978215b9145..85ba6279cff 100644
--- a/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/ServletChannelState.java
+++ b/jetty-ee11/jetty-ee11-servlet/src/main/java/org/eclipse/jetty/ee11/servlet/ServletChannelState.java
@@ -397,7 +397,7 @@ public void abort(Throwable failure)
         {
             boolean aborted = abortResponse(failure);
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("abort={} {}", aborted, this);
+                LOG.debug("abort={} {}", aborted, this, failure);
             if (aborted)
             {
                 handle = _state == State.WAITING;
@@ -663,7 +663,7 @@ void errorHandlingComplete(Throwable failure)
         try (AutoLock ignored = lock())
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("errorHandlingComplete {}", toStringLocked());
+                LOG.debug("errorHandlingComplete {}", toStringLocked(), failure);
 
             handle = _state == State.WAITING;
             if (handle)
@@ -863,7 +863,7 @@ public void asyncError(Throwable failure)
         try (AutoLock ignored = lock())
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("asyncError {}", toStringLocked());
+                LOG.debug("asyncError {}", toStringLocked(), failure);
 
             if (_state == State.WAITING && _requestState == RequestState.ASYNC)
             {
@@ -876,7 +876,7 @@ public void asyncError(Throwable failure)
                 if (!QuietException.isQuiet(failure))
                     LOG.warn(failure.toString());
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(failure).log("Async error");
+                    LOG.debug("Async error", failure);
             }
         }
 
diff --git a/jetty-ee11/jetty-ee11-servlets/src/main/java/org/eclipse/jetty/ee11/servlets/CrossOriginFilter.java b/jetty-ee11/jetty-ee11-servlets/src/main/java/org/eclipse/jetty/ee11/servlets/CrossOriginFilter.java
index bb9bc4c1966..e56a33d0c23 100644
--- a/jetty-ee11/jetty-ee11-servlets/src/main/java/org/eclipse/jetty/ee11/servlets/CrossOriginFilter.java
+++ b/jetty-ee11/jetty-ee11-servlets/src/main/java/org/eclipse/jetty/ee11/servlets/CrossOriginFilter.java
@@ -434,7 +434,7 @@ private boolean isMethodAllowed(HttpServletRequest request)
         if (accessControlRequestMethod != null)
             result = allowedMethods.contains(accessControlRequestMethod);
         if (LOG.isDebugEnabled())
-            LOG.debug("Method {} is" + (result ? "" : " not") + " among allowed methods {}", accessControlRequestMethod, allowedMethods);
+            LOG.debug("Method {} is{} among allowed methods {}", accessControlRequestMethod, result ? "" : " not", allowedMethods);
         return result;
     }
 
@@ -485,7 +485,7 @@ private boolean areHeadersAllowed(List<String> requestedHeaders)
             }
         }
         if (LOG.isDebugEnabled())
-            LOG.debug("Headers [{}] are" + (result ? "" : " not") + " among allowed headers {}", requestedHeaders, allowedHeaders);
+            LOG.debug("Headers [{}] are{} among allowed headers {}", requestedHeaders, result ? "" : " not", allowedHeaders);
         return result;
     }
 
diff --git a/jetty-ee11/jetty-ee11-servlets/src/main/java/org/eclipse/jetty/ee11/servlets/QoSFilter.java b/jetty-ee11/jetty-ee11-servlets/src/main/java/org/eclipse/jetty/ee11/servlets/QoSFilter.java
index 9bc56061f81..28abf2d325d 100644
--- a/jetty-ee11/jetty-ee11-servlets/src/main/java/org/eclipse/jetty/ee11/servlets/QoSFilter.java
+++ b/jetty-ee11/jetty-ee11-servlets/src/main/java/org/eclipse/jetty/ee11/servlets/QoSFilter.java
@@ -234,7 +234,7 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha
                             catch (IllegalStateException x)
                             {
                                 if (LOG.isDebugEnabled())
-                                    LOG.atDebug().setCause(x).log("dispatch failed");
+                                    LOG.debug("dispatch failed", x);
                             }
                         }
                     }
diff --git a/jetty-ee11/jetty-ee11-webapp/src/main/java/org/eclipse/jetty/ee11/webapp/JettyWebXmlConfiguration.java b/jetty-ee11/jetty-ee11-webapp/src/main/java/org/eclipse/jetty/ee11/webapp/JettyWebXmlConfiguration.java
index d17f571df35..c845952e661 100644
--- a/jetty-ee11/jetty-ee11-webapp/src/main/java/org/eclipse/jetty/ee11/webapp/JettyWebXmlConfiguration.java
+++ b/jetty-ee11/jetty-ee11-webapp/src/main/java/org/eclipse/jetty/ee11/webapp/JettyWebXmlConfiguration.java
@@ -116,7 +116,7 @@ private Resource resolveJettyWebXml(Resource webInf)
         catch (Exception e)
         {
             if (LOG.isDebugEnabled())
-                LOG.debug("Error resolving WEB-INF/" + xmlFile, e);
+                LOG.debug("Error resolving WEB-INF/{}", xmlFile, e);
             return null;
         }
     }
diff --git a/jetty-ee11/jetty-ee11-webapp/src/main/java/org/eclipse/jetty/ee11/webapp/MetaInfConfiguration.java b/jetty-ee11/jetty-ee11-webapp/src/main/java/org/eclipse/jetty/ee11/webapp/MetaInfConfiguration.java
index 70deaa21fa5..a96f3034e17 100644
--- a/jetty-ee11/jetty-ee11-webapp/src/main/java/org/eclipse/jetty/ee11/webapp/MetaInfConfiguration.java
+++ b/jetty-ee11/jetty-ee11-webapp/src/main/java/org/eclipse/jetty/ee11/webapp/MetaInfConfiguration.java
@@ -146,7 +146,7 @@ public void findAndFilterContainerPaths(final WebAppContext context)
             if (Resources.missing(resource))
             {
                 if (LOG.isDebugEnabled())
-                    LOG.debug("Classpath URI doesn't exist: " + resource);
+                    LOG.debug("Classpath URI doesn't exist: {}", resource);
             }
             else
             {
diff --git a/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-server/src/main/java/org/eclipse/jetty/ee11/websocket/jakarta/server/internal/JakartaWebSocketCreator.java b/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-server/src/main/java/org/eclipse/jetty/ee11/websocket/jakarta/server/internal/JakartaWebSocketCreator.java
index b24ab5e8f4c..d23262f40c5 100644
--- a/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-server/src/main/java/org/eclipse/jetty/ee11/websocket/jakarta/server/internal/JakartaWebSocketCreator.java
+++ b/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-server/src/main/java/org/eclipse/jetty/ee11/websocket/jakarta/server/internal/JakartaWebSocketCreator.java
@@ -169,7 +169,7 @@ public Map<String, Object> getUserProperties()
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Unable to create websocket: {}", config.getEndpointClass().getName());
+                LOG.debug("Unable to create websocket: {}", config.getEndpointClass().getName(), x);
             callback.failed(x);
             return null;
         }
diff --git a/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jetty-server/src/main/java/org/eclipse/jetty/ee11/websocket/server/JettyWebSocketServerContainer.java b/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jetty-server/src/main/java/org/eclipse/jetty/ee11/websocket/server/JettyWebSocketServerContainer.java
index 6a25eeddbc3..145092a3283 100644
--- a/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jetty-server/src/main/java/org/eclipse/jetty/ee11/websocket/server/JettyWebSocketServerContainer.java
+++ b/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jetty-server/src/main/java/org/eclipse/jetty/ee11/websocket/server/JettyWebSocketServerContainer.java
@@ -161,7 +161,7 @@ public void addMapping(String pathSpec, JettyWebSocketCreator creator)
             catch (Throwable t)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(t).log("Could not create WebSocket endpoint");
+                    LOG.debug("Could not create WebSocket endpoint", t);
                 cb.failed(t);
                 return null;
             }
@@ -214,7 +214,7 @@ public boolean upgrade(JettyWebSocketCreator creator, HttpServletRequest request
             catch (Throwable t)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(t).log("Could not create WebSocket endpoint");
+                    LOG.debug("Could not create WebSocket endpoint", t);
                 cb.failed(t);
                 return null;
             }
diff --git a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/AsyncContentProducer.java b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/AsyncContentProducer.java
index 2aaf65d551d..85a39fd38c5 100644
--- a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/AsyncContentProducer.java
+++ b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/AsyncContentProducer.java
@@ -452,7 +452,7 @@ private HttpInput.Content intercept()
             // when the special content was caused by the interceptor throwing.
             _error = true;
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("interceptor threw exception {}", this);
+                LOG.debug("interceptor threw exception {}", this, x);
             return _transformedContent;
         }
     }
diff --git a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/FileBufferedResponseHandler.java b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/FileBufferedResponseHandler.java
index ec05ecaf929..4531ad859e2 100644
--- a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/FileBufferedResponseHandler.java
+++ b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/FileBufferedResponseHandler.java
@@ -125,7 +125,7 @@ protected void dispose()
                 catch (Throwable t)
                 {
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(t).log("Could not immediately delete file (delaying to jvm exit) {}", _filePath);
+                        LOG.debug("Could not immediately delete file (delaying to jvm exit) {}", _filePath, t);
                     _filePath.toFile().deleteOnExit();
                 }
                 _filePath = null;
diff --git a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpChannel.java b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpChannel.java
index 990ae2e2122..bdcb279d5c1 100644
--- a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpChannel.java
+++ b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpChannel.java
@@ -568,7 +568,7 @@ public boolean handle()
                         catch (Throwable x)
                         {
                             if (LOG.isDebugEnabled())
-                                LOG.atDebug().setCause(x).log("Could not perform ERROR dispatch, aborting");
+                                LOG.debug("Could not perform ERROR dispatch, aborting", x);
                             abort(x);
                         }
                         finally
@@ -766,7 +766,7 @@ protected void handleException(Throwable failure)
         if (quiet != null || !getServer().isRunning())
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log(_request.getRequestURI());
+                LOG.debug(_request.getRequestURI(), failure);
         }
         else if (noStack != null)
         {
@@ -1066,7 +1066,7 @@ public boolean sendResponse(MetaData.Response info, ByteBuffer content, boolean
         catch (Throwable failure)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("Unable to send response");
+                LOG.debug("Unable to send response", failure);
             abort(failure);
             throw failure;
         }
@@ -1188,7 +1188,7 @@ private void notifyEvent1(Function<Listener, Consumer<Request>> function, Reques
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Failure invoking listener {}", listener);
+                    LOG.debug("Failure invoking listener {}", listener, x);
             }
         }
     }
@@ -1205,7 +1205,7 @@ private void notifyEvent2(Function<Listener, BiConsumer<Request, ByteBuffer>> fu
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Failure invoking listener {}", listener);
+                    LOG.debug("Failure invoking listener {}", listener, x);
             }
         }
     }
@@ -1221,7 +1221,7 @@ private void notifyEvent2(Function<Listener, BiConsumer<Request, Throwable>> fun
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("Failure invoking listener {}", listener);
+                    LOG.debug("Failure invoking listener {}", listener, x);
             }
         }
     }
@@ -1434,7 +1434,7 @@ public void succeeded()
         public void failed(final Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Commit failed");
+                LOG.debug("Commit failed", x);
 
             if (x instanceof HttpException httpException)
             {
diff --git a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpChannelState.java b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpChannelState.java
index a583665a17d..2ea2c2f3e75 100644
--- a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpChannelState.java
+++ b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpChannelState.java
@@ -360,7 +360,7 @@ Boolean abort(Throwable failure)
         {
             boolean aborted = abortResponse(failure);
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("abort={} {}", aborted, this);
+                LOG.debug("abort={} {}", aborted, this, failure);
             if (aborted)
             {
                 handle = _state == State.WAITING;
@@ -700,9 +700,9 @@ public void run()
                             catch (Throwable x)
                             {
                                 if (LOG.isDebugEnabled())
-                                    LOG.atDebug().setCause(x).log("{} while invoking onTimeout listener {}", x.toString(), listener);
+                                    LOG.debug("{} while invoking onTimeout listener {}", x, listener, x);
                                 else
-                                    LOG.warn("{} while invoking onTimeout listener {}", x.toString(), listener);
+                                    LOG.warn("{} while invoking onTimeout listener {}", x, listener);
                             }
                         }
                     }
@@ -778,7 +778,7 @@ public void asyncError(Throwable failure)
         try (AutoLock l = lock())
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("asyncError {}", toStringLocked());
+                LOG.debug("asyncError {}", toStringLocked(), failure);
 
             if (_state == State.WAITING && _requestState == RequestState.ASYNC)
             {
@@ -791,7 +791,7 @@ public void asyncError(Throwable failure)
                 if (!(failure instanceof QuietException))
                     LOG.warn(failure.toString());
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(failure).log("Async error");
+                    LOG.debug("Async error", failure);
             }
         }
 
@@ -866,7 +866,7 @@ protected boolean onError(Throwable th)
                 catch (Throwable x)
                 {
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(x).log("{} while invoking onError listener {}", x, listener);
+                        LOG.debug("{} while invoking onError listener {}", x, listener, x);
                     else
                         LOG.warn("{} while invoking onError listener {}", x, listener);
                 }
diff --git a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpInput.java b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpInput.java
index 534a417b49d..279cb5ab54c 100644
--- a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpInput.java
+++ b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpInput.java
@@ -431,7 +431,7 @@ else if (content.isEof())
                 catch (Throwable x)
                 {
                     if (LOG.isDebugEnabled())
-                        LOG.atDebug().setCause(x).log("running failed onAllDataRead {}", this);
+                        LOG.debug("running failed onAllDataRead {}", this, x);
                     _readListener.onError(x);
                 }
             }
@@ -447,7 +447,7 @@ else if (content.isEof())
             catch (Throwable x)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(x).log("running failed onDataAvailable {}", this);
+                    LOG.debug("running failed onDataAvailable {}", this, x);
                 _readListener.onError(x);
             }
         }
diff --git a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpOutput.java b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpOutput.java
index e9be61b7fd7..3507afe48aa 100644
--- a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpOutput.java
+++ b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HttpOutput.java
@@ -328,8 +328,8 @@ else if (_state == State.CLOSE)
         }
 
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(failure).log("onWriteComplete({},{}) {}->{} c={} cb={} w={}",
-                last, failure, state, stateString(), BufferUtil.toDetailString(closeContent), closedCallback, wake);
+            LOG.debug("onWriteComplete({}) {}->{} c={} cb={} w={}",
+                last, state, stateString(), BufferUtil.toDetailString(closeContent), closedCallback, wake, failure);
 
         try
         {
@@ -1350,7 +1350,7 @@ public void failed(Throwable x)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Unable to send resource {}", resource);
+                LOG.debug("Unable to send resource {}", resource, x);
             callback.failed(x);
         }
     }
@@ -1395,7 +1395,7 @@ public void failed(Throwable x)
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Unable to send http content {}", httpContent);
+                LOG.debug("Unable to send http content {}", httpContent, x);
             _channel.abort(x);
             callback.failed(x);
         }
@@ -1573,7 +1573,7 @@ public void run()
             if (LOG.isDebugEnabled())
             {
                 t.addSuppressed(error);
-                LOG.atDebug().setCause(t).log("Failed in call onError on {}", _writeListener);
+                LOG.debug("Failed in call onError on {}", _writeListener, t);
             }
         }
         finally
diff --git a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/Request.java b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/Request.java
index 55351883fe7..2b13b7b0cb0 100644
--- a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/Request.java
+++ b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/Request.java
@@ -867,7 +867,7 @@ private Cookie convertCookie(HttpCookie cookie)
         catch (Exception x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Bad Cookie");
+                LOG.debug("Bad Cookie", x);
         }
         return null;
     }
diff --git a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/ResourceService.java b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/ResourceService.java
index 55563ca3094..944e8fc601e 100644
--- a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/ResourceService.java
+++ b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/ResourceService.java
@@ -750,7 +750,7 @@ public void failed(Throwable x)
                             if (x instanceof IOException)
                             {
                                 if (LOG.isDebugEnabled())
-                                    LOG.atDebug().setCause(x).log(msg);
+                                    LOG.debug(msg, x);
                             }
                             else
                                 LOG.warn(msg, x);
diff --git a/jetty-ee9/jetty-ee9-proxy/src/main/java/org/eclipse/jetty/ee9/proxy/AbstractProxyServlet.java b/jetty-ee9/jetty-ee9-proxy/src/main/java/org/eclipse/jetty/ee9/proxy/AbstractProxyServlet.java
index 6f4d2bfab40..4164cdb469d 100644
--- a/jetty-ee9/jetty-ee9-proxy/src/main/java/org/eclipse/jetty/ee9/proxy/AbstractProxyServlet.java
+++ b/jetty-ee9/jetty-ee9-proxy/src/main/java/org/eclipse/jetty/ee9/proxy/AbstractProxyServlet.java
@@ -731,7 +731,7 @@ protected void onProxyResponseSuccess(HttpServletRequest clientRequest, HttpServ
     protected void onProxyResponseFailure(HttpServletRequest clientRequest, HttpServletResponse proxyResponse, Response serverResponse, Throwable failure)
     {
         if (_log.isDebugEnabled())
-            _log.debug(getRequestId(clientRequest) + " proxying failed", failure);
+            _log.debug("{} proxying failed", getRequestId(clientRequest), failure);
 
         int status = proxyResponse.getStatus();
         if (!HttpStatus.isError(status))
@@ -838,7 +838,7 @@ protected void init(ServletConfig config) throws ServletException
             _prefix = _prefix == null ? contextPath : (contextPath + _prefix);
 
             if (proxyServlet._log.isDebugEnabled())
-                proxyServlet._log.debug(config.getServletName() + " @ " + _prefix + " to " + _proxyTo);
+                proxyServlet._log.debug("{} @ {} to {}", config.getServletName(), _prefix, _proxyTo);
         }
 
         protected String rewriteTarget(HttpServletRequest request)
diff --git a/jetty-ee9/jetty-ee9-servlet/src/main/java/org/eclipse/jetty/ee9/servlet/ErrorPageErrorHandler.java b/jetty-ee9/jetty-ee9-servlet/src/main/java/org/eclipse/jetty/ee9/servlet/ErrorPageErrorHandler.java
index 93c18b0a316..077a3c0e1de 100644
--- a/jetty-ee9/jetty-ee9-servlet/src/main/java/org/eclipse/jetty/ee9/servlet/ErrorPageErrorHandler.java
+++ b/jetty-ee9/jetty-ee9-servlet/src/main/java/org/eclipse/jetty/ee9/servlet/ErrorPageErrorHandler.java
@@ -157,7 +157,7 @@ public String getErrorPage(HttpServletRequest request)
                     Throwable originalThrowable = (Throwable)request.getAttribute(Dispatcher.ERROR_EXCEPTION);
                     dbg.append(originalThrowable.getClass().getName());
                     dbg.append(')');
-                    LOG.atDebug().setCause(cause).log(dbg.toString());
+                    LOG.debug(dbg.toString(), cause);
                     break;
                 case STATUS_CODE:
                     dbg.append(" (from status code ");
diff --git a/jetty-ee9/jetty-ee9-servlets/src/main/java/org/eclipse/jetty/ee9/servlets/CrossOriginFilter.java b/jetty-ee9/jetty-ee9-servlets/src/main/java/org/eclipse/jetty/ee9/servlets/CrossOriginFilter.java
index 015abc791f4..b71025cd307 100644
--- a/jetty-ee9/jetty-ee9-servlets/src/main/java/org/eclipse/jetty/ee9/servlets/CrossOriginFilter.java
+++ b/jetty-ee9/jetty-ee9-servlets/src/main/java/org/eclipse/jetty/ee9/servlets/CrossOriginFilter.java
@@ -434,7 +434,7 @@ private boolean isMethodAllowed(HttpServletRequest request)
         if (accessControlRequestMethod != null)
             result = allowedMethods.contains(accessControlRequestMethod);
         if (LOG.isDebugEnabled())
-            LOG.debug("Method {} is" + (result ? "" : " not") + " among allowed methods {}", accessControlRequestMethod, allowedMethods);
+            LOG.debug("Method {} is{} among allowed methods {}", accessControlRequestMethod, result ? "" : " not", allowedMethods);
         return result;
     }
 
@@ -485,7 +485,7 @@ private boolean areHeadersAllowed(List<String> requestedHeaders)
             }
         }
         if (LOG.isDebugEnabled())
-            LOG.debug("Headers [{}] are" + (result ? "" : " not") + " among allowed headers {}", requestedHeaders, allowedHeaders);
+            LOG.debug("Headers [{}] are{} among allowed headers {}", requestedHeaders, result ? "" : " not", allowedHeaders);
         return result;
     }
 
diff --git a/jetty-ee9/jetty-ee9-servlets/src/main/java/org/eclipse/jetty/ee9/servlets/QoSFilter.java b/jetty-ee9/jetty-ee9-servlets/src/main/java/org/eclipse/jetty/ee9/servlets/QoSFilter.java
index 5fd3548391b..bfb011235ea 100644
--- a/jetty-ee9/jetty-ee9-servlets/src/main/java/org/eclipse/jetty/ee9/servlets/QoSFilter.java
+++ b/jetty-ee9/jetty-ee9-servlets/src/main/java/org/eclipse/jetty/ee9/servlets/QoSFilter.java
@@ -234,7 +234,7 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha
                             catch (IllegalStateException x)
                             {
                                 if (LOG.isDebugEnabled())
-                                    LOG.atDebug().setCause(x).log("dispatch failed");
+                                    LOG.debug("dispatch failed", x);
                             }
                         }
                     }
diff --git a/jetty-ee9/jetty-ee9-webapp/src/main/java/org/eclipse/jetty/ee9/webapp/JettyWebXmlConfiguration.java b/jetty-ee9/jetty-ee9-webapp/src/main/java/org/eclipse/jetty/ee9/webapp/JettyWebXmlConfiguration.java
index 93099860cae..e0016abdfac 100644
--- a/jetty-ee9/jetty-ee9-webapp/src/main/java/org/eclipse/jetty/ee9/webapp/JettyWebXmlConfiguration.java
+++ b/jetty-ee9/jetty-ee9-webapp/src/main/java/org/eclipse/jetty/ee9/webapp/JettyWebXmlConfiguration.java
@@ -116,7 +116,7 @@ private Resource resolveJettyWebXml(Resource webInf)
         catch (Exception e)
         {
             if (LOG.isDebugEnabled())
-                LOG.debug("Error resolving WEB-INF/" + xmlFile, e);
+                LOG.debug("Error resolving WEB-INF/{}", xmlFile, e);
             return null;
         }
     }
diff --git a/jetty-ee9/jetty-ee9-webapp/src/main/java/org/eclipse/jetty/ee9/webapp/MetaInfConfiguration.java b/jetty-ee9/jetty-ee9-webapp/src/main/java/org/eclipse/jetty/ee9/webapp/MetaInfConfiguration.java
index 65b1c4916c8..786b2eba825 100644
--- a/jetty-ee9/jetty-ee9-webapp/src/main/java/org/eclipse/jetty/ee9/webapp/MetaInfConfiguration.java
+++ b/jetty-ee9/jetty-ee9-webapp/src/main/java/org/eclipse/jetty/ee9/webapp/MetaInfConfiguration.java
@@ -148,7 +148,7 @@ public void findAndFilterContainerPaths(final WebAppContext context) throws Exce
             if (Resources.missing(resource))
             {
                 if (LOG.isDebugEnabled())
-                    LOG.debug("Classpath URI doesn't exist: " + resource);
+                    LOG.debug("Classpath URI doesn't exist: {}", resource);
             }
             else
             {
diff --git a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-server/src/main/java/org/eclipse/jetty/ee9/websocket/jakarta/server/internal/JakartaWebSocketCreator.java b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-server/src/main/java/org/eclipse/jetty/ee9/websocket/jakarta/server/internal/JakartaWebSocketCreator.java
index 06eb39e9af1..1bde01dcbc9 100644
--- a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-server/src/main/java/org/eclipse/jetty/ee9/websocket/jakarta/server/internal/JakartaWebSocketCreator.java
+++ b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-server/src/main/java/org/eclipse/jetty/ee9/websocket/jakarta/server/internal/JakartaWebSocketCreator.java
@@ -167,7 +167,7 @@ public Map<String, Object> getUserProperties()
         catch (Throwable x)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(x).log("Unable to create WebSocket: {}", config.getEndpointClass().getName());
+                LOG.debug("Unable to create WebSocket: {}", config.getEndpointClass().getName(), x);
             callback.failed(x);
             return null;
         }
diff --git a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-server/src/main/java/org/eclipse/jetty/ee9/websocket/server/JettyWebSocketServerContainer.java b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-server/src/main/java/org/eclipse/jetty/ee9/websocket/server/JettyWebSocketServerContainer.java
index 34f3cdc7169..245fc785564 100644
--- a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-server/src/main/java/org/eclipse/jetty/ee9/websocket/server/JettyWebSocketServerContainer.java
+++ b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-server/src/main/java/org/eclipse/jetty/ee9/websocket/server/JettyWebSocketServerContainer.java
@@ -162,7 +162,7 @@ public void addMapping(String pathSpec, JettyWebSocketCreator creator)
             catch (Throwable t)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(t).log("Could not create WebSocket endpoint");
+                    LOG.debug("Could not create WebSocket endpoint", t);
                 cb.failed(t);
                 return null;
             }
@@ -215,7 +215,7 @@ public boolean upgrade(JettyWebSocketCreator creator, HttpServletRequest request
             catch (Throwable t)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(t).log("Could not create WebSocket endpoint");
+                    LOG.debug("Could not create WebSocket endpoint", t);
                 cb.failed(t);
                 return null;
             }
diff --git a/jetty-integrations/jetty-ethereum/src/main/java/org/eclipse/jetty/security/siwe/EthereumAuthenticator.java b/jetty-integrations/jetty-ethereum/src/main/java/org/eclipse/jetty/security/siwe/EthereumAuthenticator.java
index 06006b08f65..69afb579ad9 100644
--- a/jetty-integrations/jetty-ethereum/src/main/java/org/eclipse/jetty/security/siwe/EthereumAuthenticator.java
+++ b/jetty-integrations/jetty-ethereum/src/main/java/org/eclipse/jetty/security/siwe/EthereumAuthenticator.java
@@ -499,7 +499,7 @@ protected SignedMessage parseMessage(Request request, Response response, Callbac
         catch (Throwable t)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(t).log("error reading SIWE message and signature");
+                LOG.debug("error reading SIWE message and signature", t);
             sendError(request, response, callback, t.getMessage());
             return null;
         }


Test patch:
diff --git a/jetty-core/jetty-http2/jetty-http2-tests/src/test/java/org/eclipse/jetty/http2/tests/RawHTTP2ProxyTest.java b/jetty-core/jetty-http2/jetty-http2-tests/src/test/java/org/eclipse/jetty/http2/tests/RawHTTP2ProxyTest.java
index 77a4a1d0b72..4776fec9453 100644
--- a/jetty-core/jetty-http2/jetty-http2-tests/src/test/java/org/eclipse/jetty/http2/tests/RawHTTP2ProxyTest.java
+++ b/jetty-core/jetty-http2/jetty-http2-tests/src/test/java/org/eclipse/jetty/http2/tests/RawHTTP2ProxyTest.java
@@ -358,7 +358,7 @@ public boolean onIdleTimeout(Session session)
         public void onFailure(Session session, Throwable failure, Callback callback)
         {
             if (LOGGER.isDebugEnabled())
-                LOGGER.debug("CP failure on " + session, failure);
+                LOGGER.debug("CP failure on {}", session, failure);
             // TODO
             callback.succeeded();
         }
@@ -595,7 +595,7 @@ public boolean onIdleTimeout(Session session)
         public void onFailure(Session session, Throwable failure, Callback callback)
         {
             if (LOGGER.isDebugEnabled())
-                LOGGER.debug("SP failure on " + session, failure);
+                LOGGER.debug("SP failure on {}", session, failure);
             // TODO
             callback.succeeded();
         }
diff --git a/jetty-core/jetty-jndi/src/test/java/org/eclipse/jetty/jndi/java/TestJNDI.java b/jetty-core/jetty-jndi/src/test/java/org/eclipse/jetty/jndi/java/TestJNDI.java
index 13098a2b740..77f5d15fba9 100644
--- a/jetty-core/jetty-jndi/src/test/java/org/eclipse/jetty/jndi/java/TestJNDI.java
+++ b/jetty-core/jetty-jndi/src/test/java/org/eclipse/jetty/jndi/java/TestJNDI.java
@@ -233,39 +233,39 @@ public void testJavaNameParsing() throws Exception
             Name n = sub0.getNameParser("").parse("/red/green/");
 
             if (LOG.isDebugEnabled())
-                LOG.debug("get(0)=" + n.get(0));
+                LOG.debug("get(0)={}", n.get(0));
             if (LOG.isDebugEnabled())
-                LOG.debug("getPrefix(1)=" + n.getPrefix(1));
+                LOG.debug("getPrefix(1)={}", n.getPrefix(1));
             n = n.getSuffix(1);
             if (LOG.isDebugEnabled())
-                LOG.debug("getSuffix(1)=" + n);
+                LOG.debug("getSuffix(1)={}", n);
             if (LOG.isDebugEnabled())
-                LOG.debug("get(0)=" + n.get(0));
+                LOG.debug("get(0)={}", n.get(0));
             if (LOG.isDebugEnabled())
-                LOG.debug("getPrefix(1)=" + n.getPrefix(1));
+                LOG.debug("getPrefix(1)={}", n.getPrefix(1));
             n = n.getSuffix(1);
             if (LOG.isDebugEnabled())
-                LOG.debug("getSuffix(1)=" + n);
+                LOG.debug("getSuffix(1)={}", n);
             if (LOG.isDebugEnabled())
-                LOG.debug("get(0)=" + n.get(0));
+                LOG.debug("get(0)={}", n.get(0));
             if (LOG.isDebugEnabled())
-                LOG.debug("getPrefix(1)=" + n.getPrefix(1));
+                LOG.debug("getPrefix(1)={}", n.getPrefix(1));
             n = n.getSuffix(1);
             if (LOG.isDebugEnabled())
-                LOG.debug("getSuffix(1)=" + n);
+                LOG.debug("getSuffix(1)={}", n);
 
             n = sub0.getNameParser("").parse("pink/purple/");
             if (LOG.isDebugEnabled())
-                LOG.debug("get(0)=" + n.get(0));
+                LOG.debug("get(0)={}", n.get(0));
             if (LOG.isDebugEnabled())
-                LOG.debug("getPrefix(1)=" + n.getPrefix(1));
+                LOG.debug("getPrefix(1)={}", n.getPrefix(1));
             n = n.getSuffix(1);
             if (LOG.isDebugEnabled())
-                LOG.debug("getSuffix(1)=" + n);
+                LOG.debug("getSuffix(1)={}", n);
             if (LOG.isDebugEnabled())
-                LOG.debug("get(0)=" + n.get(0));
+                LOG.debug("get(0)={}", n.get(0));
             if (LOG.isDebugEnabled())
-                LOG.debug("getPrefix(1)=" + n.getPrefix(1));
+                LOG.debug("getPrefix(1)={}", n.getPrefix(1));
 
             NamingContext ncontext = (NamingContext)sub0;
 
@@ -281,7 +281,7 @@ public void testJavaNameParsing() throws Exception
 
             nn = ncontext.toCanonicalName(ncontext.getNameParser("").parse("/"));
             if (LOG.isDebugEnabled())
-                LOG.debug("/ parses as: " + nn + " with size=" + nn.size());
+                LOG.debug("/ parses as: {} with size={}", nn, nn.size());
             LOG.debug(nn.toString());
             assertEquals(1, nn.size());
 
diff --git a/jetty-core/jetty-util/src/test/java/org/eclipse/jetty/util/ScannerTest.java b/jetty-core/jetty-util/src/test/java/org/eclipse/jetty/util/ScannerTest.java
index 23c5e0ad671..a2c2cd09153 100644
--- a/jetty-core/jetty-util/src/test/java/org/eclipse/jetty/util/ScannerTest.java
+++ b/jetty-core/jetty-util/src/test/java/org/eclipse/jetty/util/ScannerTest.java
@@ -838,7 +838,7 @@ private static class PathsChangedQueueListener extends LinkedBlockingQueue<Map<P
         public void pathsChanged(Map<Path, Notification> pathsChanged)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().addArgument(pathsChanged).log("pathsChanged: {}");
+                LOG.debug("pathsChanged: {}", pathsChanged);
             add(pathsChanged);
         }
 
diff --git a/jetty-core/jetty-websocket/jetty-websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/TestFrameHandler.java b/jetty-core/jetty-websocket/jetty-websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/TestFrameHandler.java
index 8a4bd54e0af..3a141138f9d 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/TestFrameHandler.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/TestFrameHandler.java
@@ -64,7 +64,7 @@ public void onOpen(CoreSession coreSession)
     public void onFrame(Frame frame)
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("onFrame: " + OpCode.name(frame.getOpCode()) + ":" + BufferUtil.toDetailString(frame.getPayload()));
+            LOG.debug("onFrame: {}:{}", OpCode.name(frame.getOpCode()), BufferUtil.toDetailString(frame.getPayload()));
         receivedFrames.offer(Frame.copy(frame));
         demand();
     }
@@ -87,7 +87,7 @@ public void onClosed(CloseStatus closeStatus)
     public void onError(Throwable cause)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log("onError ");
+            LOG.debug("onError ", cause);
         failure = cause;
         error.countDown();
     }
diff --git a/jetty-core/jetty-websocket/jetty-websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/WebSocketCloseTest.java b/jetty-core/jetty-websocket/jetty-websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/WebSocketCloseTest.java
index e15a08e6fc3..22ae3ea6c45 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/WebSocketCloseTest.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/WebSocketCloseTest.java
@@ -556,7 +556,7 @@ public void onOpen(CoreSession coreSession, Callback callback)
         public void onFrame(Frame frame, Callback callback)
         {
             if (LOG.isDebugEnabled())
-                LOG.debug("onFrame: " + BufferUtil.toDetailString(frame.getPayload()));
+                LOG.debug("onFrame: {}", BufferUtil.toDetailString(frame.getPayload()));
             state = coreSession.toString();
             receivedCallback.offer(callback);
             receivedFrames.offer(Frame.copy(frame));
@@ -582,7 +582,7 @@ public void onClosed(CloseStatus closeStatus, Callback callback)
         public void onError(Throwable cause, Callback callback)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("onError");
+                LOG.debug("onError", cause);
             error = cause;
             state = coreSession.toString();
             callback.succeeded();
diff --git a/jetty-core/jetty-websocket/jetty-websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/chat/ChatWebSocketClient.java b/jetty-core/jetty-websocket/jetty-websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/chat/ChatWebSocketClient.java
index 5de2993cfbb..a8b79cc4d91 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/chat/ChatWebSocketClient.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/chat/ChatWebSocketClient.java
@@ -78,7 +78,7 @@ private void chat(String line)
                             handler.sendText("[" + value + ": changed name from " + name + "]", Callback.NOOP, false);
                             name = value;
                             if (LOG.isDebugEnabled())
-                                LOG.debug("name changed: " + name);
+                                LOG.debug("name changed: {}", name);
                         }
                         break;
 
diff --git a/jetty-core/jetty-websocket/jetty-websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/proxy/WebSocketProxy.java b/jetty-core/jetty-websocket/jetty-websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/proxy/WebSocketProxy.java
index 13934ea666d..085c80732b7 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/proxy/WebSocketProxy.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-core-tests/src/test/java/org/eclipse/jetty/websocket/core/proxy/WebSocketProxy.java
@@ -144,7 +144,7 @@ private void onOpenSuccess(Callback callback)
         private void onOpenFail(Callback callback, Throwable t)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(t).log("[{}] onOpenFail", this);
+                LOG.debug("[{}] onOpenFail", this, t);
 
             Throwable failure = t;
             try (AutoLock ignored = lock.lock())
@@ -240,7 +240,7 @@ public void onFrame(Frame frame, Callback callback)
         public void onError(Throwable failure, Callback callback)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("[{}] onError", this);
+                LOG.debug("[{}] onError", this, failure);
 
             boolean failServer2Proxy;
             try (AutoLock ignored = lock.lock())
@@ -269,7 +269,7 @@ public void onError(Throwable failure, Callback callback)
         public void fail(Throwable failure, Callback callback)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("[{}] fail", this);
+                LOG.debug("[{}] fail", this, failure);
 
             Callback sendCallback = null;
             try (AutoLock ignored = lock.lock())
@@ -478,7 +478,7 @@ private void onConnectSuccess(CoreSession coreSession, Callback callback)
         private void onConnectFailure(Throwable t, Callback callback)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(t).log("[{}] onConnectFailure", this);
+                LOG.debug("[{}] onConnectFailure", this, t);
 
             Throwable failure = t;
             try (AutoLock ignored = lock.lock())
@@ -605,7 +605,7 @@ public void onFrame(Frame frame, Callback callback)
         public void onError(Throwable failure, Callback callback)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("[{}] onError", this);
+                LOG.debug("[{}] onError", this, failure);
 
             boolean failClient2Proxy = false;
             try (AutoLock ignored = lock.lock())
@@ -660,7 +660,7 @@ public void onClosed(CloseStatus closeStatus, Callback callback)
         public void fail(Throwable failure, Callback callback)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(failure).log("[{}] fail", this);
+                LOG.debug("[{}] fail", this, failure);
 
             Callback sendCallback = null;
             try (AutoLock ignored = lock.lock())
diff --git a/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/CloseTrackingEndpoint.java b/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/CloseTrackingEndpoint.java
index a8e9fe80873..c98961a7b73 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/CloseTrackingEndpoint.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/CloseTrackingEndpoint.java
@@ -103,7 +103,7 @@ public void onWebSocketOpen(Session session)
     public void onWebSocketError(Throwable cause)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log("onWebSocketError");
+            LOG.debug("onWebSocketError", cause);
         assertThat("Unique Error Event", error.compareAndSet(null, cause), is(true));
         errorLatch.countDown();
     }
diff --git a/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/EventSocket.java b/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/EventSocket.java
index 1b93d506332..e765697e06b 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/EventSocket.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/EventSocket.java
@@ -56,7 +56,7 @@ public void onOpen(Session session)
     {
         this.session = session;
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onOpen(): {}", this, session);
+            LOG.debug("{} onOpen(): {}", this, session);
         openLatch.countDown();
     }
 
@@ -64,7 +64,7 @@ public void onOpen(Session session)
     public void onTextMessage(String message) throws IOException
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onTextMessage(): {}", this, message);
+            LOG.debug("{} onTextMessage(): {}", this, message);
         textMessages.add(message);
     }
 
@@ -72,7 +72,7 @@ public void onTextMessage(String message) throws IOException
     public void onBinaryMessage(ByteBuffer message, Callback callback) throws IOException
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onBinaryMessage(): {}", this, message);
+            LOG.debug("{} onBinaryMessage(): {}", this, message);
         binaryMessages.add(BufferUtil.copy(message));
         callback.succeed();
     }
@@ -81,7 +81,7 @@ public void onBinaryMessage(ByteBuffer message, Callback callback) throws IOExce
     public void onPingMessage(ByteBuffer payload)
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onPingMessage(): {}", this, payload);
+            LOG.debug("{} onPingMessage(): {}", this, payload);
         pingMessages.add(BufferUtil.copy(payload));
         session.sendPong(payload, Callback.NOOP);
     }
@@ -90,7 +90,7 @@ public void onPingMessage(ByteBuffer payload)
     public void onPongMessage(ByteBuffer payload)
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onPongMessage(): {}", this, payload);
+            LOG.debug("{} onPongMessage(): {}", this, payload);
         pongMessages.add(BufferUtil.copy(payload));
     }
 
@@ -98,7 +98,7 @@ public void onPongMessage(ByteBuffer payload)
     public void onError(Throwable cause)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log("{}  onError()", this);
+            LOG.debug("{} onError()", this, cause);
         error = cause;
         errorLatch.countDown();
     }
@@ -107,7 +107,7 @@ public void onError(Throwable cause)
     public void onClose(int statusCode, String reason)
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onClose(): {}:{}", this, statusCode, reason);
+            LOG.debug("{} onClose(): {}:{}", this, statusCode, reason);
         this.closeCode = statusCode;
         this.closeReason = reason;
         closeLatch.countDown();
diff --git a/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/BadNetworkTest.java b/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/BadNetworkTest.java
index 3ba0357e7c6..81f32310f71 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/BadNetworkTest.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/BadNetworkTest.java
@@ -157,7 +157,7 @@ public void onWebSocketText(String message)
         public void onWebSocketError(Throwable cause)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("ServerEndpoint error");
+                LOG.debug("ServerEndpoint error", cause);
         }
     }
 }
diff --git a/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientCloseTest.java b/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientCloseTest.java
index 886e05749b8..3facf779281 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientCloseTest.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/client/ClientCloseTest.java
@@ -456,7 +456,7 @@ else if (message.equals("block"))
             catch (Throwable t)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(t).log("send text failure");
+                    LOG.debug("send text failure", t);
                 throw new RuntimeException(t);
             }
         }
@@ -465,7 +465,7 @@ else if (message.equals("block"))
         public void onWebSocketError(Throwable cause)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("onWebSocketError(): ");
+                LOG.debug("onWebSocketError()", cause);
         }
 
         @Override
@@ -486,7 +486,7 @@ public void onWebSocketFrame(Frame frame, Callback callback)
                     catch (Throwable x)
                     {
                         if (LOG.isDebugEnabled())
-                            LOG.atDebug().setCause(x).log("OOPS");
+                            LOG.debug("", x);
                     }
                 }
                 else if (reason.equals("abort"))
diff --git a/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/proxy/WebSocketProxy.java b/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/proxy/WebSocketProxy.java
index c575f781fd8..fd59539f71c 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/proxy/WebSocketProxy.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/proxy/WebSocketProxy.java
@@ -152,7 +152,7 @@ public void onWebSocketPong(ByteBuffer payload)
         public void onWebSocketError(Throwable cause)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("{} onWebSocketError()", getClass().getSimpleName());
+                LOG.debug("{} onWebSocketError()", getClass().getSimpleName(), cause);
 
             proxyToServer.fail(cause);
         }
@@ -247,7 +247,7 @@ public void onWebSocketPong(ByteBuffer payload)
         public void onWebSocketError(Throwable cause)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("{} onWebSocketError()", getClass().getSimpleName());
+                LOG.debug("{} onWebSocketError()", getClass().getSimpleName(), cause);
 
             clientToProxy.fail(cause);
         }
diff --git a/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/proxy/WebSocketProxyTest.java b/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/proxy/WebSocketProxyTest.java
index ec96bc0dcc2..c53b6e28b77 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/proxy/WebSocketProxyTest.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/proxy/WebSocketProxyTest.java
@@ -358,7 +358,7 @@ public void onOpen(Session session)
         {
             this.session = session;
             if (LOG.isDebugEnabled())
-                LOG.debug("{}  onOpen(): {}", this, session);
+                LOG.debug("{} onOpen(): {}", this, session);
             openLatch.countDown();
         }
 
@@ -385,7 +385,7 @@ public void onWebSocketFrame(Frame frame, Callback callback)
         public void onClose(int statusCode, String reason)
         {
             if (LOG.isDebugEnabled())
-                LOG.debug("{}  onClose(): {}:{}", this, statusCode, reason);
+                LOG.debug("{} onClose(): {}:{}", this, statusCode, reason);
             this.closeCode = statusCode;
             this.closeReason = reason;
             closeLatch.countDown();
@@ -395,7 +395,7 @@ public void onClose(int statusCode, String reason)
         public void onError(Throwable cause)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("{}  onError(): {}", this);
+                LOG.debug("{} onError()", this, cause);
             error = cause;
             errorLatch.countDown();
         }
diff --git a/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/util/FutureCallback.java b/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/util/FutureCallback.java
index 8570feaf54d..1fd9b2f9df6 100644
--- a/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/util/FutureCallback.java
+++ b/jetty-core/jetty-websocket/jetty-websocket-jetty-tests/src/test/java/org/eclipse/jetty/websocket/tests/util/FutureCallback.java
@@ -30,7 +30,7 @@ public class FutureCallback extends org.eclipse.jetty.util.FutureCallback implem
     public void fail(Throwable cause)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log(".writeFailed");
+            LOG.debug("writeFailed", cause);
         failed(cause);
     }
 
@@ -38,7 +38,7 @@ public void fail(Throwable cause)
     public void succeed()
     {
         if (LOG.isDebugEnabled())
-            LOG.debug(".writeSuccess");
+            LOG.debug("writeSuccess");
         succeeded();
     }
 }
diff --git a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/AsyncServletIOTest.java b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/AsyncServletIOTest.java
index 4cfdb91f901..22cc4582f8c 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/AsyncServletIOTest.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/AsyncServletIOTest.java
@@ -216,7 +216,7 @@ public void testAsync2() throws Exception
             // response line
             String line = in.readLine();
             if (LOG.isDebugEnabled())
-                LOG.debug("response-line: " + line);
+                LOG.debug("response-line: {}", line);
             assertThat(line, startsWith("HTTP/1.1 200 OK"));
 
             // Skip headers
@@ -224,7 +224,7 @@ public void testAsync2() throws Exception
             {
                 line = in.readLine();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("header-line: " + line);
+                    LOG.debug("header-line: {}", line);
                 if (line.length() == 0)
                     break;
             }
@@ -234,7 +234,7 @@ public void testAsync2() throws Exception
             {
                 line = in.readLine();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("body: " + line);
+                    LOG.debug("body: {}", line);
                 if (line == null)
                     break;
                 list.add(line);
@@ -295,7 +295,7 @@ public void testAsyncConsumeAvailable() throws Exception
             // response line
             String line = in.readLine();
             if (LOG.isDebugEnabled())
-                LOG.debug("response-line: " + line);
+                LOG.debug("response-line: {}", line);
             assertThat(line, startsWith("HTTP/1.1 200 OK"));
 
             // Skip headers
@@ -303,7 +303,7 @@ public void testAsyncConsumeAvailable() throws Exception
             {
                 line = in.readLine();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("header-line: " + line);
+                    LOG.debug("header-line: {}", line);
                 if (line.length() == 0)
                     break;
             }
@@ -311,7 +311,7 @@ public void testAsyncConsumeAvailable() throws Exception
             // Get body
             line = in.readLine();
             if (LOG.isDebugEnabled())
-                LOG.debug("body: " + line);
+                LOG.debug("body: {}", line);
             assertEquals("DONE", line);
 
             // The connection should be aborted
@@ -377,7 +377,7 @@ public synchronized List<String> process(byte[] content, int... writes) throws E
             // response line
             String line = in.readLine();
             if (LOG.isDebugEnabled())
-                LOG.debug("response-line: " + line);
+                LOG.debug("response-line: {}", line);
             assertThat(line, startsWith("HTTP/1.1 200 OK"));
 
             // Skip headers
@@ -385,7 +385,7 @@ public synchronized List<String> process(byte[] content, int... writes) throws E
             {
                 line = in.readLine();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("header-line:  " + line);
+                    LOG.debug("header-line: {}", line);
                 if (line.length() == 0)
                     break;
             }
@@ -397,7 +397,7 @@ public synchronized List<String> process(byte[] content, int... writes) throws E
                 if (line == null)
                     break;
                 if (LOG.isDebugEnabled())
-                    LOG.debug("body:  " + brief(line));
+                    LOG.debug("body: {}", brief(line));
                 list.add(line);
                 Thread.sleep(50);
             }
@@ -408,7 +408,7 @@ public synchronized List<String> process(byte[] content, int... writes) throws E
         for (String line : list)
         {
             if (LOG.isDebugEnabled())
-                LOG.debug("line:  " + brief(line));
+                LOG.debug("line: {}", brief(line));
             if ("-".equals(line))
                 continue;
             assertEquals(writes[w], line.length(), "Line Length");
@@ -689,7 +689,7 @@ public void testCompleteWhilePending() throws Exception
             // response line
             String line = in.readLine();
             if (LOG.isDebugEnabled())
-                LOG.debug("response-line: " + line);
+                LOG.debug("response-line: {}", line);
             assertThat(line, startsWith("HTTP/1.1 200 OK"));
 
             boolean chunked = false;
@@ -698,7 +698,7 @@ public void testCompleteWhilePending() throws Exception
             {
                 line = in.readLine();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("header-line: " + line);
+                    LOG.debug("header-line: {}", line);
                 chunked |= "Transfer-Encoding: chunked".equals(line);
                 if (line.length() == 0)
                     break;
@@ -716,7 +716,7 @@ public void testCompleteWhilePending() throws Exception
                     //Thread.sleep(1000);
                     line = in.readLine();
                     if (LOG.isDebugEnabled())
-                        LOG.debug("body: " + line);
+                        LOG.debug("body: {}", line);
                     if (line == null)
                         break;
                     list.add(line);
@@ -727,7 +727,7 @@ public void testCompleteWhilePending() throws Exception
                 // ignored
             }
             if (LOG.isDebugEnabled())
-                LOG.debug("last: " + last);
+                LOG.debug("last: {}", last);
 
             // last non empty line should not contain end chunk
             assertThat(last, notNullValue());
diff --git a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/QoSFilterTest.java b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/QoSFilterTest.java
index 624f33c3d78..add0bff1cc7 100644
--- a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/QoSFilterTest.java
+++ b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/QoSFilterTest.java
@@ -215,7 +215,7 @@ public Void call() throws Exception
             catch (Exception e)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.debug("Request " + url + " failed", e);
+                    LOG.debug("Request {} failed", url, e);
             }
             finally
             {
diff --git a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/EventSocket.java b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/EventSocket.java
index a4740c77acd..25d5cc9570b 100644
--- a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/EventSocket.java
+++ b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/EventSocket.java
@@ -55,7 +55,7 @@ public void onOpen(Session session, EndpointConfig endpointConfig)
         this.session = session;
         this.endpointConfig = endpointConfig;
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onOpen(): {}", this, session);
+            LOG.debug("{} onOpen(): {}", this, session);
         openLatch.countDown();
     }
 
@@ -63,7 +63,7 @@ public void onOpen(Session session, EndpointConfig endpointConfig)
     public void onMessage(String message) throws IOException
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onMessage(): {}", this, message);
+            LOG.debug("{} onMessage(): {}", this, message);
         textMessages.offer(message);
     }
 
@@ -71,7 +71,7 @@ public void onMessage(String message) throws IOException
     public void onMessage(ByteBuffer message) throws IOException
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onMessage(): {}", this, message);
+            LOG.debug("{} onMessage(): {}", this, message);
         binaryMessages.offer(message);
     }
 
@@ -79,7 +79,7 @@ public void onMessage(ByteBuffer message) throws IOException
     public void onClose(CloseReason reason)
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onClose(): {}", this, reason);
+            LOG.debug("{} onClose(): {}", this, reason);
         closeReason = reason;
         closeLatch.countDown();
     }
@@ -88,7 +88,7 @@ public void onClose(CloseReason reason)
     public void onError(Throwable cause)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log("{}  onError()", this);
+            LOG.debug("{} onError()", this, cause);
         error = cause;
         errorLatch.countDown();
     }
diff --git a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/framehandlers/FrameEcho.java b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/framehandlers/FrameEcho.java
index 84fda300ed1..c6ec1f12d36 100644
--- a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/framehandlers/FrameEcho.java
+++ b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/framehandlers/FrameEcho.java
@@ -48,7 +48,7 @@ public void onFrame(Frame frame, Callback callback)
     public void onError(Throwable cause, Callback callback)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log(this + " onError ");
+            LOG.debug("{} onError", this, cause);
         callback.succeeded();
     }
 
diff --git a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/autobahn/JakartaAutobahnSocket.java b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/autobahn/JakartaAutobahnSocket.java
index 5e5befe39be..f40c49749bf 100644
--- a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/autobahn/JakartaAutobahnSocket.java
+++ b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/autobahn/JakartaAutobahnSocket.java
@@ -60,7 +60,7 @@ public void onBinary(ByteBuffer message) throws IOException
     public void onError(Throwable t)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(t).log("onError()");
+            LOG.debug("onError()", t);
     }
 
     @OnClose
diff --git a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/server/EndpointViaConfigTest.java b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/server/EndpointViaConfigTest.java
index 7938e51c18e..0eb359492fb 100644
--- a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/server/EndpointViaConfigTest.java
+++ b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/server/EndpointViaConfigTest.java
@@ -85,14 +85,14 @@ public void testEcho(WorkDir workDir) throws Exception
             {
                 client.stop();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("Stopped - " + client);
+                    LOG.debug("Stopped - {}", client);
             }
         }
         finally
         {
             wsb.stop();
             if (LOG.isDebugEnabled())
-                LOG.debug("Stopped - " + wsb);
+                LOG.debug("Stopped - {}", wsb);
         }
     }
 }
diff --git a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/server/examples/WebSocketServerExamplesTest.java b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/server/examples/WebSocketServerExamplesTest.java
index c3066f7c735..7fd4766a132 100644
--- a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/server/examples/WebSocketServerExamplesTest.java
+++ b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/server/examples/WebSocketServerExamplesTest.java
@@ -85,7 +85,7 @@ public void onClose(CloseReason closeReason)
         public void onError(Throwable cause)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("ClientSocket error");
+                LOG.debug("ClientSocket error", cause);
         }
     }
 
diff --git a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee10/websocket/tests/EventSocket.java b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee10/websocket/tests/EventSocket.java
index 70b139fbc24..f45b213ec90 100644
--- a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee10/websocket/tests/EventSocket.java
+++ b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee10/websocket/tests/EventSocket.java
@@ -54,7 +54,7 @@ public void onOpen(Session session)
     {
         this.session = session;
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onOpen(): {}", this, session);
+            LOG.debug("{} onOpen(): {}", this, session);
         openLatch.countDown();
     }
 
@@ -62,7 +62,7 @@ public void onOpen(Session session)
     public void onMessage(String message) throws IOException
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onMessage(): {}", this, message);
+            LOG.debug("{} onMessage(): {}", this, message);
         textMessages.offer(message);
     }
 
@@ -70,7 +70,7 @@ public void onMessage(String message) throws IOException
     public void onMessage(ByteBuffer message, Callback callback)
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onMessage(): {}", this, message);
+            LOG.debug("{} onMessage(): {}", this, message);
         binaryMessages.offer(BufferUtil.copy(message));
         callback.succeed();
     }
@@ -79,7 +79,7 @@ public void onMessage(ByteBuffer message, Callback callback)
     public void onClose(int statusCode, String reason)
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onClose(): {}:{}", this, statusCode, reason);
+            LOG.debug("{} onClose(): {}:{}", this, statusCode, reason);
         this.closeCode = statusCode;
         this.closeReason = reason;
         closeLatch.countDown();
@@ -89,7 +89,7 @@ public void onClose(int statusCode, String reason)
     public void onError(Throwable cause)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log("{}  onError()", this);
+            LOG.debug("{} onError()", this, cause);
         error = cause;
         errorLatch.countDown();
     }
diff --git a/jetty-ee11/jetty-ee11-servlet/src/test/java/org/eclipse/jetty/ee11/servlet/AsyncServletIOTest.java b/jetty-ee11/jetty-ee11-servlet/src/test/java/org/eclipse/jetty/ee11/servlet/AsyncServletIOTest.java
index 4465dea2736..6e9ea982ba6 100644
--- a/jetty-ee11/jetty-ee11-servlet/src/test/java/org/eclipse/jetty/ee11/servlet/AsyncServletIOTest.java
+++ b/jetty-ee11/jetty-ee11-servlet/src/test/java/org/eclipse/jetty/ee11/servlet/AsyncServletIOTest.java
@@ -216,7 +216,7 @@ public void testAsync2() throws Exception
             // response line
             String line = in.readLine();
             if (LOG.isDebugEnabled())
-                LOG.debug("response-line: " + line);
+                LOG.debug("response-line: {}", line);
             assertThat(line, startsWith("HTTP/1.1 200 OK"));
 
             // Skip headers
@@ -224,7 +224,7 @@ public void testAsync2() throws Exception
             {
                 line = in.readLine();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("header-line: " + line);
+                    LOG.debug("header-line: {}", line);
                 if (line.length() == 0)
                     break;
             }
@@ -234,7 +234,7 @@ public void testAsync2() throws Exception
             {
                 line = in.readLine();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("body: " + line);
+                    LOG.debug("body: {}", line);
                 if (line == null)
                     break;
                 list.add(line);
@@ -295,7 +295,7 @@ public void testAsyncConsumeAvailable() throws Exception
             // response line
             String line = in.readLine();
             if (LOG.isDebugEnabled())
-                LOG.debug("response-line: " + line);
+                LOG.debug("response-line: {}", line);
             assertThat(line, startsWith("HTTP/1.1 200 OK"));
 
             // Skip headers
@@ -303,7 +303,7 @@ public void testAsyncConsumeAvailable() throws Exception
             {
                 line = in.readLine();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("header-line: " + line);
+                    LOG.debug("header-line: {}", line);
                 if (line.length() == 0)
                     break;
             }
@@ -311,7 +311,7 @@ public void testAsyncConsumeAvailable() throws Exception
             // Get body
             line = in.readLine();
             if (LOG.isDebugEnabled())
-                LOG.debug("body: " + line);
+                LOG.debug("body: {}", line);
             assertEquals("DONE", line);
 
             // The connection should be aborted
@@ -377,7 +377,7 @@ public synchronized List<String> process(byte[] content, int... writes) throws E
             // response line
             String line = in.readLine();
             if (LOG.isDebugEnabled())
-                LOG.debug("response-line: " + line);
+                LOG.debug("response-line: {}", line);
             assertThat(line, startsWith("HTTP/1.1 200 OK"));
 
             // Skip headers
@@ -385,7 +385,7 @@ public synchronized List<String> process(byte[] content, int... writes) throws E
             {
                 line = in.readLine();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("header-line:  " + line);
+                    LOG.debug("header-line:  {}", line);
                 if (line.length() == 0)
                     break;
             }
@@ -397,7 +397,7 @@ public synchronized List<String> process(byte[] content, int... writes) throws E
                 if (line == null)
                     break;
                 if (LOG.isDebugEnabled())
-                    LOG.debug("body:  " + brief(line));
+                    LOG.debug("body: {}", brief(line));
                 list.add(line);
                 Thread.sleep(50);
             }
@@ -408,7 +408,7 @@ public synchronized List<String> process(byte[] content, int... writes) throws E
         for (String line : list)
         {
             if (LOG.isDebugEnabled())
-                LOG.debug("line:  " + brief(line));
+                LOG.debug("line: {}", brief(line));
             if ("-".equals(line))
                 continue;
             assertEquals(writes[w], line.length(), "Line Length");
@@ -689,7 +689,7 @@ public void testCompleteWhilePending() throws Exception
             // response line
             String line = in.readLine();
             if (LOG.isDebugEnabled())
-                LOG.debug("response-line: " + line);
+                LOG.debug("response-line: {}", line);
             assertThat(line, startsWith("HTTP/1.1 200 OK"));
 
             boolean chunked = false;
@@ -698,7 +698,7 @@ public void testCompleteWhilePending() throws Exception
             {
                 line = in.readLine();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("header-line: " + line);
+                    LOG.debug("header-line: {}", line);
                 chunked |= "Transfer-Encoding: chunked".equals(line);
                 if (line.length() == 0)
                     break;
@@ -716,7 +716,7 @@ public void testCompleteWhilePending() throws Exception
                     //Thread.sleep(1000);
                     line = in.readLine();
                     if (LOG.isDebugEnabled())
-                        LOG.debug("body: " + line);
+                        LOG.debug("body: {}", line);
                     if (line == null)
                         break;
                     list.add(line);
@@ -727,7 +727,7 @@ public void testCompleteWhilePending() throws Exception
                 // ignored
             }
             if (LOG.isDebugEnabled())
-                LOG.debug("last: " + last);
+                LOG.debug("last: {}", last);
 
             // last non empty line should not contain end chunk
             assertThat(last, notNullValue());
diff --git a/jetty-ee11/jetty-ee11-servlets/src/test/java/org/eclipse/jetty/ee11/servlets/QoSFilterTest.java b/jetty-ee11/jetty-ee11-servlets/src/test/java/org/eclipse/jetty/ee11/servlets/QoSFilterTest.java
index 610b343ff48..ba87830e0ff 100644
--- a/jetty-ee11/jetty-ee11-servlets/src/test/java/org/eclipse/jetty/ee11/servlets/QoSFilterTest.java
+++ b/jetty-ee11/jetty-ee11-servlets/src/test/java/org/eclipse/jetty/ee11/servlets/QoSFilterTest.java
@@ -215,7 +215,7 @@ public Void call() throws Exception
             catch (Exception e)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.debug("Request " + url + " failed", e);
+                    LOG.debug("Request {} failed", url, e);
             }
             finally
             {
diff --git a/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/EventSocket.java b/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/EventSocket.java
index 76f1283da87..28e7b5c96d5 100644
--- a/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/EventSocket.java
+++ b/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/EventSocket.java
@@ -55,7 +55,7 @@ public void onOpen(Session session, EndpointConfig endpointConfig)
         this.session = session;
         this.endpointConfig = endpointConfig;
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onOpen(): {}", this, session);
+            LOG.debug("{} onOpen(): {}", this, session);
         openLatch.countDown();
     }
 
@@ -63,7 +63,7 @@ public void onOpen(Session session, EndpointConfig endpointConfig)
     public void onMessage(String message) throws IOException
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onMessage(): {}", this, message);
+            LOG.debug("{} onMessage(): {}", this, message);
         textMessages.offer(message);
     }
 
@@ -71,7 +71,7 @@ public void onMessage(String message) throws IOException
     public void onMessage(ByteBuffer message) throws IOException
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onMessage(): {}", this, message);
+            LOG.debug("{} onMessage(): {}", this, message);
         binaryMessages.offer(message);
     }
 
@@ -79,7 +79,7 @@ public void onMessage(ByteBuffer message) throws IOException
     public void onClose(CloseReason reason)
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onClose(): {}", this, reason);
+            LOG.debug("{} onClose(): {}", this, reason);
         closeReason = reason;
         closeLatch.countDown();
     }
@@ -88,7 +88,7 @@ public void onClose(CloseReason reason)
     public void onError(Throwable cause)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log("{}  onError()", this);
+            LOG.debug("{} onError()", this, cause);
         error = cause;
         errorLatch.countDown();
     }
diff --git a/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/framehandlers/FrameEcho.java b/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/framehandlers/FrameEcho.java
index 695031a2d71..3644dfd9590 100644
--- a/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/framehandlers/FrameEcho.java
+++ b/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/framehandlers/FrameEcho.java
@@ -48,7 +48,7 @@ public void onFrame(Frame frame, Callback callback)
     public void onError(Throwable cause, Callback callback)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log(this + " onError ");
+            LOG.debug("{} onError", this, cause);
         callback.succeeded();
     }
 
diff --git a/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/autobahn/JakartaAutobahnSocket.java b/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/autobahn/JakartaAutobahnSocket.java
index 308c93da478..8b4fdb0473b 100644
--- a/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/autobahn/JakartaAutobahnSocket.java
+++ b/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/autobahn/JakartaAutobahnSocket.java
@@ -60,7 +60,7 @@ public void onBinary(ByteBuffer message) throws IOException
     public void onError(Throwable t)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(t).log("onError()");
+            LOG.debug("onError()", t);
     }
 
     @OnClose
diff --git a/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/server/EndpointViaConfigTest.java b/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/server/EndpointViaConfigTest.java
index c22f88b1dcd..cb8ee5446b7 100644
--- a/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/server/EndpointViaConfigTest.java
+++ b/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/server/EndpointViaConfigTest.java
@@ -85,14 +85,14 @@ public void testEcho(WorkDir workDir) throws Exception
             {
                 client.stop();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("Stopped - " + client);
+                    LOG.debug("Stopped - {}", client);
             }
         }
         finally
         {
             wsb.stop();
             if (LOG.isDebugEnabled())
-                LOG.debug("Stopped - " + wsb);
+                LOG.debug("Stopped - {}", wsb);
         }
     }
 }
diff --git a/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/server/examples/WebSocketServerExamplesTest.java b/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/server/examples/WebSocketServerExamplesTest.java
index 9eb5e69d2d0..6b4c9c2e517 100644
--- a/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/server/examples/WebSocketServerExamplesTest.java
+++ b/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee11/websocket/jakarta/tests/server/examples/WebSocketServerExamplesTest.java
@@ -85,7 +85,7 @@ public void onClose(CloseReason closeReason)
         public void onError(Throwable cause)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("ClientSocket error");
+                LOG.debug("ClientSocket error", cause);
         }
     }
 
diff --git a/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee11/websocket/tests/EventSocket.java b/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee11/websocket/tests/EventSocket.java
index 86d8ebf77d8..a8550414bd8 100644
--- a/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee11/websocket/tests/EventSocket.java
+++ b/jetty-ee11/jetty-ee11-websocket/jetty-ee11-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee11/websocket/tests/EventSocket.java
@@ -54,7 +54,7 @@ public void onOpen(Session session)
     {
         this.session = session;
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onOpen(): {}", this, session);
+            LOG.debug("{} onOpen(): {}", this, session);
         openLatch.countDown();
     }
 
@@ -62,7 +62,7 @@ public void onOpen(Session session)
     public void onMessage(String message) throws IOException
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onMessage(): {}", this, message);
+            LOG.debug("{} onMessage(): {}", this, message);
         textMessages.offer(message);
     }
 
@@ -70,7 +70,7 @@ public void onMessage(String message) throws IOException
     public void onMessage(ByteBuffer message, Callback callback)
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onMessage(): {}", this, message);
+            LOG.debug("{} onMessage(): {}", this, message);
         binaryMessages.offer(BufferUtil.copy(message));
         callback.succeed();
     }
@@ -79,7 +79,7 @@ public void onMessage(ByteBuffer message, Callback callback)
     public void onClose(int statusCode, String reason)
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onClose(): {}:{}", this, statusCode, reason);
+            LOG.debug("{} onClose(): {}:{}", this, statusCode, reason);
         this.closeCode = statusCode;
         this.closeReason = reason;
         closeLatch.countDown();
@@ -89,7 +89,7 @@ public void onClose(int statusCode, String reason)
     public void onError(Throwable cause)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log("{}  onError()", this);
+            LOG.debug("{} onError()", this, cause);
         error = cause;
         errorLatch.countDown();
     }
diff --git a/jetty-ee9/jetty-ee9-servlet/src/test/java/org/eclipse/jetty/ee9/servlet/AsyncServletIOTest.java b/jetty-ee9/jetty-ee9-servlet/src/test/java/org/eclipse/jetty/ee9/servlet/AsyncServletIOTest.java
index ab776937872..355bbda0048 100644
--- a/jetty-ee9/jetty-ee9-servlet/src/test/java/org/eclipse/jetty/ee9/servlet/AsyncServletIOTest.java
+++ b/jetty-ee9/jetty-ee9-servlet/src/test/java/org/eclipse/jetty/ee9/servlet/AsyncServletIOTest.java
@@ -220,7 +220,7 @@ public void testAsync2() throws Exception
             // response line
             String line = in.readLine();
             if (LOG.isDebugEnabled())
-                LOG.debug("response-line: " + line);
+                LOG.debug("response-line: {}", line);
             assertThat(line, startsWith("HTTP/1.1 200 OK"));
 
             // Skip headers
@@ -228,7 +228,7 @@ public void testAsync2() throws Exception
             {
                 line = in.readLine();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("header-line: " + line);
+                    LOG.debug("header-line: {}", line);
                 if (line.length() == 0)
                     break;
             }
@@ -238,7 +238,7 @@ public void testAsync2() throws Exception
             {
                 line = in.readLine();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("body: " + line);
+                    LOG.debug("body: {}", line);
                 if (line == null)
                     break;
                 list.add(line);
@@ -299,7 +299,7 @@ public void testAsyncConsumeAll() throws Exception
             // response line
             String line = in.readLine();
             if (LOG.isDebugEnabled())
-                LOG.debug("response-line: " + line);
+                LOG.debug("response-line: {}", line);
             assertThat(line, startsWith("HTTP/1.1 200 OK"));
 
             // Skip headers
@@ -307,7 +307,7 @@ public void testAsyncConsumeAll() throws Exception
             {
                 line = in.readLine();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("header-line: " + line);
+                    LOG.debug("header-line: {}", line);
                 if (line.length() == 0)
                     break;
             }
@@ -315,7 +315,7 @@ public void testAsyncConsumeAll() throws Exception
             // Get body
             line = in.readLine();
             if (LOG.isDebugEnabled())
-                LOG.debug("body: " + line);
+                LOG.debug("body: {}", line);
             assertEquals("DONE", line);
 
             // The connection should be aborted
@@ -381,7 +381,7 @@ public synchronized List<String> process(byte[] content, int... writes) throws E
             // response line
             String line = in.readLine();
             if (LOG.isDebugEnabled())
-                LOG.debug("response-line: " + line);
+                LOG.debug("response-line: {}", line);
             assertThat(line, startsWith("HTTP/1.1 200 OK"));
 
             // Skip headers
@@ -389,7 +389,7 @@ public synchronized List<String> process(byte[] content, int... writes) throws E
             {
                 line = in.readLine();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("header-line:  " + line);
+                    LOG.debug("header-line:  {}", line);
                 if (line.length() == 0)
                     break;
             }
@@ -401,7 +401,7 @@ public synchronized List<String> process(byte[] content, int... writes) throws E
                 if (line == null)
                     break;
                 if (LOG.isDebugEnabled())
-                    LOG.debug("body:  " + brief(line));
+                    LOG.debug("body: {}", brief(line));
                 list.add(line);
                 Thread.sleep(50);
             }
@@ -412,7 +412,7 @@ public synchronized List<String> process(byte[] content, int... writes) throws E
         for (String line : list)
         {
             if (LOG.isDebugEnabled())
-                LOG.debug("line:  " + brief(line));
+                LOG.debug("line: {}", brief(line));
             if ("-".equals(line))
                 continue;
             assertEquals(writes[w], line.length(), "Line Length");
@@ -693,7 +693,7 @@ public void testCompleteWhilePending() throws Exception
             // response line
             String line = in.readLine();
             if (LOG.isDebugEnabled())
-                LOG.debug("response-line: " + line);
+                LOG.debug("response-line: {}", line);
             assertThat(line, startsWith("HTTP/1.1 200 OK"));
 
             boolean chunked = false;
@@ -702,7 +702,7 @@ public void testCompleteWhilePending() throws Exception
             {
                 line = in.readLine();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("header-line: " + line);
+                    LOG.debug("header-line: {}", line);
                 chunked |= "Transfer-Encoding: chunked".equals(line);
                 if (line.length() == 0)
                     break;
@@ -720,7 +720,7 @@ public void testCompleteWhilePending() throws Exception
                     //Thread.sleep(1000);
                     line = in.readLine();
                     if (LOG.isDebugEnabled())
-                        LOG.debug("body: " + line);
+                        LOG.debug("body: {}", line);
                     if (line == null)
                         break;
                     list.add(line);
@@ -731,7 +731,7 @@ public void testCompleteWhilePending() throws Exception
                 // ignored
             }
             if (LOG.isDebugEnabled())
-                LOG.debug("last: " + last);
+                LOG.debug("last: {}", last);
 
             // last non empty line should not contain end chunk
             assertThat(last, notNullValue());
@@ -918,7 +918,7 @@ public void testStolenAsyncRead() throws Exception
             // response line
             String line = in.readLine();
             if (LOG.isDebugEnabled())
-                LOG.debug("response-line: " + line);
+                LOG.debug("response-line: {}", line);
             assertThat(line, startsWith("HTTP/1.1 200 OK"));
 
             // Skip headers
@@ -926,7 +926,7 @@ public void testStolenAsyncRead() throws Exception
             {
                 line = in.readLine();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("header-line: " + line);
+                    LOG.debug("header-line: {}", line);
                 if (line.length() == 0)
                     break;
             }
diff --git a/jetty-ee9/jetty-ee9-servlet/src/test/java/org/eclipse/jetty/ee9/servlet/ServletUpgradeTest.java b/jetty-ee9/jetty-ee9-servlet/src/test/java/org/eclipse/jetty/ee9/servlet/ServletUpgradeTest.java
index e1afca3dfac..ee79d81413a 100644
--- a/jetty-ee9/jetty-ee9-servlet/src/test/java/org/eclipse/jetty/ee9/servlet/ServletUpgradeTest.java
+++ b/jetty-ee9/jetty-ee9-servlet/src/test/java/org/eclipse/jetty/ee9/servlet/ServletUpgradeTest.java
@@ -318,7 +318,7 @@ private static boolean compareString(String expected, String actual)
 
             int searchIdx = actual.toLowerCase().indexOf(search.toLowerCase(), startIdx);
             if (LOG.isDebugEnabled())
-                LOG.debug("[ServletTestUtil] Scanning response for " + "search string: '" + search + "' starting at index " + "location: " + startIdx);
+                LOG.debug("[ServletTestUtil] Scanning response for search string: '{}' starting at index location: {}", search, startIdx);
             if (searchIdx < 0)
             {
                 found = false;
@@ -335,7 +335,7 @@ private static boolean compareString(String expected, String actual)
                 break;
             }
             if (LOG.isDebugEnabled())
-                LOG.debug("[ServletTestUtil] Found search string: '" + search + "' at index '" + searchIdx + "' in the server's " + "response");
+                LOG.debug("[ServletTestUtil] Found search string: '{}' at index '{}' in the server's response", search, searchIdx);
             // the new searchIdx is the old index plus the length of the
             // search string.
             startIdx = searchIdx + search.length();
diff --git a/jetty-ee9/jetty-ee9-servlets/src/test/java/org/eclipse/jetty/ee9/servlets/QoSFilterTest.java b/jetty-ee9/jetty-ee9-servlets/src/test/java/org/eclipse/jetty/ee9/servlets/QoSFilterTest.java
index 3d5c095aeb6..e602d9821e5 100644
--- a/jetty-ee9/jetty-ee9-servlets/src/test/java/org/eclipse/jetty/ee9/servlets/QoSFilterTest.java
+++ b/jetty-ee9/jetty-ee9-servlets/src/test/java/org/eclipse/jetty/ee9/servlets/QoSFilterTest.java
@@ -214,7 +214,7 @@ public Void call() throws Exception
             catch (Exception e)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.debug("Request " + url + " failed", e);
+                    LOG.debug("Request {} failed", url, e);
             }
             finally
             {
diff --git a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/EventSocket.java b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/EventSocket.java
index d6c5e65043c..1554d503c77 100644
--- a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/EventSocket.java
+++ b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/EventSocket.java
@@ -55,7 +55,7 @@ public void onOpen(Session session, EndpointConfig endpointConfig)
         this.session = session;
         this.endpointConfig = endpointConfig;
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onOpen(): {}", this, session);
+            LOG.debug("{} onOpen(): {}", this, session);
         openLatch.countDown();
     }
 
@@ -63,7 +63,7 @@ public void onOpen(Session session, EndpointConfig endpointConfig)
     public void onMessage(String message) throws IOException
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onMessage(): {}", this, message);
+            LOG.debug("{} onMessage(): {}", this, message);
         textMessages.offer(message);
     }
 
@@ -71,7 +71,7 @@ public void onMessage(String message) throws IOException
     public void onMessage(ByteBuffer message) throws IOException
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onMessage(): {}", this, message);
+            LOG.debug("{} onMessage(): {}", this, message);
         binaryMessages.offer(message);
     }
 
@@ -79,7 +79,7 @@ public void onMessage(ByteBuffer message) throws IOException
     public void onClose(CloseReason reason)
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onClose(): {}", this, reason);
+            LOG.debug("{} onClose(): {}", this, reason);
 
         closeReason = reason;
         closeLatch.countDown();
@@ -89,7 +89,7 @@ public void onClose(CloseReason reason)
     public void onError(Throwable cause)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log("{}  onError()", this);
+            LOG.debug("{} onError()", this, cause);
         error = cause;
         errorLatch.countDown();
     }
diff --git a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/framehandlers/FrameEcho.java b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/framehandlers/FrameEcho.java
index 6c3046e0e9d..487ac799602 100644
--- a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/framehandlers/FrameEcho.java
+++ b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/framehandlers/FrameEcho.java
@@ -54,7 +54,7 @@ public void onFrame(Frame frame, Callback callback)
     public void onError(Throwable cause, Callback callback)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log("{} onError()", this);
+            LOG.debug("{} onError()", this, cause);
         callback.succeeded();
     }
 
diff --git a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/autobahn/JakartaAutobahnSocket.java b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/autobahn/JakartaAutobahnSocket.java
index b39efd77e03..f3949f875d8 100644
--- a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/autobahn/JakartaAutobahnSocket.java
+++ b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/autobahn/JakartaAutobahnSocket.java
@@ -60,7 +60,7 @@ public void onBinary(ByteBuffer message) throws IOException
     public void onError(Throwable t)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(t).log("onError()");
+            LOG.debug("onError()", t);
     }
 
     @OnClose
diff --git a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/server/EndpointViaConfigTest.java b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/server/EndpointViaConfigTest.java
index 62819cf7fa9..447ff54c94a 100644
--- a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/server/EndpointViaConfigTest.java
+++ b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/server/EndpointViaConfigTest.java
@@ -85,14 +85,14 @@ public void testEcho(WorkDir workDir) throws Exception
             {
                 client.stop();
                 if (LOG.isDebugEnabled())
-                    LOG.debug("Stopped - " + client);
+                    LOG.debug("Stopped - {}", client);
             }
         }
         finally
         {
             wsb.stop();
             if (LOG.isDebugEnabled())
-                LOG.debug("Stopped - " + wsb);
+                LOG.debug("Stopped - {}", wsb);
         }
     }
 }
diff --git a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/server/examples/WebSocketServerExamplesTest.java b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/server/examples/WebSocketServerExamplesTest.java
index f2b3fc98699..725801bb2b9 100644
--- a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/server/examples/WebSocketServerExamplesTest.java
+++ b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee9/websocket/jakarta/tests/server/examples/WebSocketServerExamplesTest.java
@@ -85,7 +85,7 @@ public void onClose(CloseReason closeReason)
         public void onError(Throwable cause)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("ClientSocket error");
+                LOG.debug("ClientSocket error", cause);
         }
     }
 
diff --git a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/CloseTrackingEndpoint.java b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/CloseTrackingEndpoint.java
index e10daa1a0be..21c12e2a5d1 100644
--- a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/CloseTrackingEndpoint.java
+++ b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/CloseTrackingEndpoint.java
@@ -102,7 +102,7 @@ public void onWebSocketConnect(Session session)
     public void onWebSocketError(Throwable cause)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log("onWebSocketError");
+            LOG.debug("onWebSocketError", cause);
         assertThat("Unique Error Event", error.compareAndSet(null, cause), is(true));
         errorLatch.countDown();
     }
diff --git a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/EventSocket.java b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/EventSocket.java
index 81adaabc509..e9f5c3b1106 100644
--- a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/EventSocket.java
+++ b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/EventSocket.java
@@ -53,7 +53,7 @@ public void onOpen(Session session)
         this.session = session;
         behavior = session.getPolicy().getBehavior().name();
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onOpen(): {}", this, session);
+            LOG.debug("{} onOpen(): {}", this, session);
         openLatch.countDown();
     }
 
@@ -61,7 +61,7 @@ public void onOpen(Session session)
     public void onMessage(String message) throws IOException
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onMessage(): {}", this, message);
+            LOG.debug("{} onMessage(): {}", this, message);
         textMessages.offer(message);
     }
 
@@ -70,7 +70,7 @@ public void onMessage(byte[] buf, int offset, int len) throws IOException
     {
         ByteBuffer message = ByteBuffer.wrap(buf, offset, len);
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onMessage(): {}", this, message);
+            LOG.debug("{} onMessage(): {}", this, message);
         binaryMessages.offer(message);
     }
 
@@ -78,7 +78,7 @@ public void onMessage(byte[] buf, int offset, int len) throws IOException
     public void onClose(int statusCode, String reason)
     {
         if (LOG.isDebugEnabled())
-            LOG.debug("{}  onClose(): {}:{}", this, statusCode, reason);
+            LOG.debug("{} onClose(): {}:{}", this, statusCode, reason);
         this.closeCode = statusCode;
         this.closeReason = reason;
         closeLatch.countDown();
@@ -88,7 +88,7 @@ public void onClose(int statusCode, String reason)
     public void onError(Throwable cause)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log("{}  onError()", this);
+            LOG.debug("{} onError()", this, cause);
         error = cause;
         errorLatch.countDown();
     }
diff --git a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/client/BadNetworkTest.java b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/client/BadNetworkTest.java
index d4ee5cbf450..8175617ed8d 100644
--- a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/client/BadNetworkTest.java
+++ b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/client/BadNetworkTest.java
@@ -184,7 +184,7 @@ public void onWebSocketConnect(Session session)
         public void onWebSocketError(Throwable cause)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("ServerEndpoint error");
+                LOG.debug("ServerEndpoint error", cause);
         }
     }
 }
diff --git a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/client/ClientCloseTest.java b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/client/ClientCloseTest.java
index 42ddcf97498..2d6aa445519 100644
--- a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/client/ClientCloseTest.java
+++ b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/client/ClientCloseTest.java
@@ -455,7 +455,7 @@ else if (message.equals("block"))
             catch (Throwable t)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(t).log("send text failure");
+                    LOG.debug("send text failure", t);
                 throw new RuntimeException(t);
             }
         }
@@ -475,7 +475,7 @@ public void onWebSocketConnect(Session session)
         public void onWebSocketError(Throwable cause)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("onWebSocketError(): ");
+                LOG.debug("onWebSocketError()", cause);
         }
 
         @Override
diff --git a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/proxy/WebSocketProxy.java b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/proxy/WebSocketProxy.java
index 09bb4b0a168..3eed8dbcdb6 100644
--- a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/proxy/WebSocketProxy.java
+++ b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/proxy/WebSocketProxy.java
@@ -177,7 +177,7 @@ public void onWebSocketPong(ByteBuffer payload)
         public void onWebSocketError(Throwable cause)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("{} onWebSocketError()", getClass().getSimpleName());
+                LOG.debug("{} onWebSocketError()", getClass().getSimpleName(), cause);
 
             proxyToServer.fail(cause);
         }
@@ -291,7 +291,7 @@ public void onWebSocketPong(ByteBuffer payload)
         public void onWebSocketError(Throwable cause)
         {
             if (LOG.isDebugEnabled())
-                LOG.atDebug().setCause(cause).log("{} onWebSocketError()", getClass().getSimpleName());
+                LOG.debug("{} onWebSocketError()", getClass().getSimpleName(), cause);
 
             clientToProxy.fail(cause);
         }
diff --git a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/util/FutureWriteCallback.java b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/util/FutureWriteCallback.java
index 8ad66ee170c..d945c0e175e 100644
--- a/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/util/FutureWriteCallback.java
+++ b/jetty-ee9/jetty-ee9-websocket/jetty-ee9-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee9/websocket/tests/util/FutureWriteCallback.java
@@ -31,7 +31,7 @@ public class FutureWriteCallback extends FutureCallback implements WriteCallback
     public void writeFailed(Throwable cause)
     {
         if (LOG.isDebugEnabled())
-            LOG.atDebug().setCause(cause).log(".writeFailed");
+            LOG.debug("writeFailed", cause);
         failed(cause);
     }
 
@@ -39,7 +39,7 @@ public void writeFailed(Throwable cause)
     public void writeSuccess()
     {
         if (LOG.isDebugEnabled())
-            LOG.debug(".writeSuccess");
+            LOG.debug("writeSuccess");
         succeeded();
     }
 }
diff --git a/tests/jetty-jmh/src/main/java/org/eclipse/jetty/util/thread/jmh/ReservedThreadExecutorExchanger.java b/tests/jetty-jmh/src/main/java/org/eclipse/jetty/util/thread/jmh/ReservedThreadExecutorExchanger.java
index f7ce56f5a81..978a60f24ce 100644
--- a/tests/jetty-jmh/src/main/java/org/eclipse/jetty/util/thread/jmh/ReservedThreadExecutorExchanger.java
+++ b/tests/jetty-jmh/src/main/java/org/eclipse/jetty/util/thread/jmh/ReservedThreadExecutorExchanger.java
@@ -316,14 +316,14 @@ public void run()
                     catch (Throwable t)
                     {
                         if (LOG.isDebugEnabled())
-                            LOG.atDebug().setCause(t).log("{} task {} failure", ReservedThreadExecutorExchanger.this, task);
+                            LOG.debug("{} task {} failure", ReservedThreadExecutorExchanger.this, task, t);
                     }
                 }
             }
             catch (Throwable t)
             {
                 if (LOG.isDebugEnabled())
-                    LOG.atDebug().setCause(t).log("{} reservedThread {} failure", ReservedThreadExecutorExchanger.this, this);
+                    LOG.debug("{} reservedThread {} failure", ReservedThreadExecutorExchanger.this, this, t);
             }
             finally
             {
diff --git a/tests/test-distribution/test-distribution-common/src/test/java/org/eclipse/jetty/tests/distribution/DemoModulesTests.java b/tests/test-distribution/test-distribution-common/src/test/java/org/eclipse/jetty/tests/distribution/DemoModulesTests.java
index e46dc4ae07e..d9f3c97868e 100644
--- a/tests/test-distribution/test-distribution-common/src/test/java/org/eclipse/jetty/tests/distribution/DemoModulesTests.java
+++ b/tests/test-distribution/test-distribution-common/src/test/java/org/eclipse/jetty/tests/distribution/DemoModulesTests.java
@@ -452,8 +452,7 @@ public void testSpec(String env) throws Exception
                         if (cause instanceof EOFException ||
                             cause instanceof AsynchronousCloseException)
                         {
-                            LoggerFactory.getLogger(DemoModulesTests.class)
-                                .info("EOF During request to {}{}", baseURI, ambiguous, e);
+                            LoggerFactory.getLogger(DemoModulesTests.class).info("EOF During request to {}{}", baseURI, ambiguous, e);
                             Assumptions.assumeTrue(false, "Jetty Client should not have failed with %s: %s".formatted(cause.getClass().getName(), cause.getMessage()));
                         }
                         else