gpt4 book ai didi

java - 在 Java 中抑制运行时控制台警告的最佳方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 22:36:21 25 4
gpt4 key购买 nike

我正在使用 org.apache.commons.httpclient.methods.PostMethod 类的 getResponseBody() 方法。但是,我总是在运行时收到一条写入控制台的消息:

警告:将缓冲较大或未知大小的响应主体。建议改用 getResponseBodyAsStream。

在代码中,无论如何我都必须将响应写入字节数组,因此我应该使用 getResponseBody() 方法。但是有没有一种简单的方法可以抑制警告消息,这样我就不必在每次运行时都查看它?

如果是编译器错误,我会使用 @SuppressWarnings 注释,但这不是编译时问题;它发生在运行时。此外,我可以使用 getResponseBodyAsStream 写入 ByteArrayOutputStream,但这似乎是一种绕过警告的 hacky 方式(额外的代码行来完成 getResponseBody() 已经为我做的事情)。

我的猜测是答案涉及 System.out 或 System.err 操作,但是有没有好的方法来做到这一点?

最佳答案

如果你想完全停止这个日志条目,有一个可调的最大值会触发警告。我看到这个 looking at the code .

        int limit = getParams().getIntParameter(HttpMethodParams.BUFFER_WARN_TRIGGER_LIMIT, 1024*1024);
if ((contentLength == -1) || (contentLength > limit)) {
LOG.warn("Going to buffer response body of large or unknown size. "
+"Using getResponseBodyAsStream instead is recommended.");
}

HttpMethodBase.setParams() 看起来像是将 HttpMethodParams.BUFFER_WARN_TRIGGER_LIMIT 设置为所需值的地方。

关于java - 在 Java 中抑制运行时控制台警告的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/745022/

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