>From Tomcat Embedded Core 9.0.26: @Override protected void doClose() { if (log.isDebugEnabled()) { log.debug("Calling [" + getEndpoint() + "].closeSocket([" + this + "])", new Exception()); }
Which will log something like: DEBUG [http-nio-8080-exec-2] org.apache.tomcat.util.net.NioEndpoint Calling [org.apache.tomcat.util.net.NioEndpoint@654c1a54 ].closeSocket([org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@39e9d240 :org.apache.tomcat.util.net.NioChannel@78019ed5:java.nio.channels.SocketChannel[connected local=/127.0.0.1:8080 remote=/127.0.0.1:39988]]) java.lang.Exception: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doClose(NioEndpoint.java:1165) [tomcat-embed-core-9.0.26.jar:9.0.26] at org.apache.tomcat.util.net.SocketWrapperBase.close(SocketWrapperBase.java:394) [tomcat-embed-core-9.0.26.jar:9.0.26] at org.apache.tomcat.util.net.NioEndpoint$Poller.cancelledKey(NioEndpoint.java:667) [tomcat-embed-core-9.0.26.jar:9.0.26] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1592) [tomcat-embed-core-9.0.26.jar:9.0.26] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.26.jar:9.0.26] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_212] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_212] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.26.jar:9.0.26] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_212] To print the stack trace next to the message? Every time I turn on debug logging this exception catches me by surprise. Why not only print the stack trace next using org.apache.commons.lang3.exception.ExceptionUtils.getStackTrace for example? Best regards, Behrang Saeedzadeh blog.behrang.org