我正在使用感觉正确的Java代码来跟踪程序的各个部分:
LOG.debug("a simple string with no formatters nor placeholders.");
然而,Eclipse中的SonarLint在该行上显示以下报告:
String不包含格式说明符。
匹配规则S3457读取"应正确使用Printf样式格式字符串(squid:S3457)"。
我正在使用logback,上面代码中的LOG
变量属于org.slf4j.Logger
类型。
我想清除这份报告,同时学习一些东西。
有人可以告诉我这有什么问题吗?或者是声纳在应用该规则时过于严格的情况?
否则,在不输出值的情况下输出日志消息被认为是不好的做法吗?
答案 0 :(得分:1)
我认为这可能是最新版SonarQube的一个问题。
我找到了以下report,其中以下代码对您遇到的同一问题产生误报:
log.trace("Connection closed");
SonarQube代表已经说过,这是一个已知问题,他们应该为此做好准备。