繁体   English   中英

如何解决声纳“仅有条件地调用方法”

[英]How to resolve Sonar "Invoke method(s) only conditionally"

我的代码如下所示:

logger.debug("Message:Request", new Gson().toJson(req));

声纳问题 说:

仅有条件地调用方法。

如何修复这行代码?

一般来说,请查看 SonarQube 规则描述以了解它们的含义、它们是否与您的用例相关以及如何解决问题。 在这种情况下, 规则描述显示了如何解决这个问题:

 // since Java 8, we can use Supplier, which will be evaluated lazily logger.log(Level.SEVERE, () -> "Something went wrong: " + message);

或者

if (LOG.isDebugEnabled() { // this is compliant, because it will not evaluate if log level is above debug. LOG.debug("Unable to open file " + csvPath, e); }

这取决于您使用的日志框架,其中哪些解决方案是可能的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM