java—如何解决“标准输出不应直接用于记录任何内容”的问题

qcuzuvrc  于 2021-07-12  发布在  Java
关注(0)|答案(2)|浏览(931)

我需要打印报表。但声纳不允许这种类型。

String txt="Something";
System.out.println("Print: "+txt);

预期产量:

Print: Something

我尝试了这个格式logger.log()。它不符合我们的要求。

quhf5bfb

quhf5bfb1#

sonarqube不喜欢使用 System.out ,或者在传递给日志函数的参数中包含字符串串联或其他计算。在记录完整消息之前,请在单独的行上构造完整消息:

String txt = "Print: " + "Something";

String logMessage = "Print: " + txt;
logger.log(Level.INFO, logMessage);
avwztpqn

avwztpqn2#

如果记录器不符合您的要求,请通过配置它来实现。
有一些广泛使用的日志框架是高度可配置的,我怀疑他们不能做任何你用平原做的事情 System.out.println 例如,检查非常流行 SLF4J 以及 Logback 作为日志提供程序。
http://www.slf4j.org/
http://logback.qos.ch/

相关问题