Ich brauche eine Druckerklärung. Aber Sonar erlaubt diesen Typ nicht.

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

Erwartete Ausgabe:

Print: Something

Ich habe dieses Format logger.log () ausprobiert. Es funktioniert nicht für unsere Anforderung.

-3
Mahesh 19 Aug. 2020 im 13:49

2 Antworten

Beste Antwort

Sonarqube gefällt es nicht, wenn Sie System.out verwenden oder wenn Sie Zeichenfolgenverkettung oder andere Berechnungen in den Argumenten haben, die Sie an die Protokollierungsfunktion übergeben. Erstellen Sie die vollständige Nachricht in einer separaten Zeile, bevor Sie sie protokollieren:

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

String logMessage = "Print: " + txt;
logger.log(Level.INFO, logMessage);
0
Joni 19 Aug. 2020 im 13:21

Wenn der Logger Ihre Anforderungen nicht erfüllt, konfigurieren Sie ihn.

Es gibt einige weit verbreitete Protokollierungsframeworks, die in hohem Maße konfigurierbar sind, und ich bezweifle, dass sie nicht in der Lage sind, das zu tun, was Sie mit normalem System.out.println tun.

Schauen Sie sich beispielsweise die sehr beliebten SLF4J und Logback als Protokollierungsanbieter an.

http://www.slf4j.org/

http://logback.qos.ch/

0
Antoniossss 19 Aug. 2020 im 10:56