I think so. Another option is to create an exception and print the stack trace into a StringWriter via a PrintWriter, massage it a bit if necessary and add that to the log message.
On Sat, 26 Oct. 2019, 9:12 pm Mark Thomas, <ma...@apache.org> wrote: > On October 25, 2019 9:27:21 AM UTC, Behrang Saeedzadeh < > behran...@gmail.com> wrote: > >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? > > Yes. So the debug message shows what called close(). > > > 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? > > Because that adds an entire library as a dependency to support a single > debug message. And new Exception() gives what we need without that > dependency. Would adding a message to the exception such as "Tracing > caller" make things clearer? > > Mark > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >