【问题标题】:How to fix an S3457 report in SonarQube [duplicate]如何在 SonarQube 中修复 S3457 报告 [重复]
【发布时间】:2018-03-28 21:24:02
【问题描述】:

我正在使用感觉上是正确的 Java 代码来跟踪程序的各个部分:

LOG.debug("a simple string with no formatters nor placeholders.");

但是,Eclipse 中的 SonarLint 在该行显示以下报告:

字符串不包含格式说明符。

匹配规则 S3457 读取“Printf-style format strings should be used correct (squid:S3457)”。

我正在使用 logback,上面代码中的 LOG 变量是 org.slf4j.Logger 类型。

我想清除这份报告,同时,学习一些东西。

有人可以告诉我这有什么问题吗?还是 Sonar 在应用该规则时过于严格?

否则,在不输出值的情况下输出日志消息是否被认为是不好的做法?

【问题讨论】:

标签: java sonarqube


【解决方案1】:

我认为这可能是最新版本的 SonarQube 的问题。

我发现了以下report,其中以下代码对您遇到的同一问题产生了误报:

log.trace("Connection closed");

SonarQube 代表说这是一个已知问题,他们应该准备好修复它。

【讨论】:

  • 谢谢。正如其他人提到的那样,我的问题确实是重复的,在他们提到的另一个问题中,SonarQube 人员说修复程序在 6.7 LTS 中,但我正在运行 6.7.1,我仍然看到这一点。我会把它带给他们。
  • @AbVog :乐于助人。喜欢 SonarQube/SonarLint。
猜你喜欢
  • 2016-11-23
  • 1970-01-01
  • 2020-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-05
  • 2016-07-29
相关资源
最近更新 更多