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

问题描述

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

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

预期输出:

Print: Something

我尝试了这种格式logger.log()。它不能满足我们的要求。

解决方法

如果记录器不符合您的要求,请通过配置使其达到要求。

有一些广泛使用的日志框架可以高度配置,我怀疑它们无法使用普通的System.out.println

来完成您的工作。

例如,请查看非常受欢迎的SLF4JLogback作为日志记录提供程序。

http://www.slf4j.org/

http://logback.qos.ch/

,

如果您使用System.out,或者在传递给日志记录函数的参数中具有字符串连接或其他计算功能,Sonarqube将不喜欢它。在记录之前,在单独的行上构造完整消息:

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

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...