gpt4 book ai didi

java : Using printStackTrace in Production Environment

转载 作者:搜寻专家 更新时间:2023-11-01 02:14:42 24 4
gpt4 key购买 nike

我将在生产服务器下部署我们的 Web 应用程序。在生产环境中的 catch block 下包含 printStackTrace 是否可以接受? (因为 catch block 下的日志无助于了解错误的确切原因)所以请告诉我在 catch block 下使用 printStackTrace 是否可以接受?

例如,我故意输入了一个无效的端口号,printStackTrace() 为我提供了此信息。

打印堆栈跟踪():

java.lang.IllegalArgumentException: port out of range:80800
at java.net.InetSocketAddress.<init>(InetSocketAddress.java:118)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:395)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:530)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:234)
at sun.net.www.http.HttpClient.New(HttpClient.java:307)
at sun.net.www.http.HttpClient.New(HttpClient.java:324)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:970)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:911)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:836)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1014)
at com.tata.util.XmlClient.execute(HttpXmlClient.java:83)

日志风格:

以及日志给出的位置(我正在使用 Apache 公共(public)日志记录机制进行日志记录)

 Log.write("**EXCEPTION INSIDE execute " + e, Log.INFO);

06/Jan/2012 16:25:55 - main:http-8080-2 <> <60990020>**EXCEPTION INSIDE execute java.lang.IllegalArgumentException: port out of range:80800

所以请告诉我在 catch block 下使用 printStackTrace 是否可以接受?

最佳答案

日志也会显示堆栈跟踪,但您没有正确使用它。尝试:

log.error(Object message, Throwable t);

当您执行 Log.write("**EXCEPTION INSIDE execute "+ e, Log.INFO); 时,用作字符串连接符的加号实际上会调用 toString() e 对象上的方法,并将其附加到 "**EXCEPTION INSIDE execute " 字符串,永远不会更改以获取异常对象或其堆栈跟踪。

http://commons.apache.org/logging/guide.html#Logging留言

关于java : Using printStackTrace in Production Environment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8757046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com