From deba96cbe7193019437b2b9bee2a54ec196b0ab8 Mon Sep 17 00:00:00 2001 From: Travis Lyons Date: Tue, 8 Sep 2026 14:48:43 +0000 Subject: [PATCH] Replace System.out usage with SLF4J logging Addresses SonarQube java:S106 by adding an SLF4J logger to each affected class and routing all standard-output writes through it. --- build.gradle | 5 +++++ .../example/primitive/wrappers/ForecastDeskApp.java | 13 ++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 3e82f98..d984e40 100644 --- a/build.gradle +++ b/build.gradle @@ -9,6 +9,11 @@ repositories { mavenCentral() } +dependencies { + implementation 'org.slf4j:slf4j-api:2.0.16' + runtimeOnly 'org.slf4j:slf4j-simple:2.0.16' +} + application { mainClass = 'dev.trly.java.example.primitive.wrappers.ForecastDeskApp' } diff --git a/src/main/java/dev/trly/java/example/primitive/wrappers/ForecastDeskApp.java b/src/main/java/dev/trly/java/example/primitive/wrappers/ForecastDeskApp.java index 0ebd90d..52f0e01 100644 --- a/src/main/java/dev/trly/java/example/primitive/wrappers/ForecastDeskApp.java +++ b/src/main/java/dev/trly/java/example/primitive/wrappers/ForecastDeskApp.java @@ -1,6 +1,11 @@ package dev.trly.java.example.primitive.wrappers; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + public final class ForecastDeskApp { + private static final Logger LOGGER = LoggerFactory.getLogger(ForecastDeskApp.class); + private ForecastDeskApp() { } @@ -35,10 +40,12 @@ public static void main(String[] args) { wettestDay = rain; wettestLabel = days[index]; } - System.out.printf("%s: %.2f C, %.1f mm rain%n", days[index], temperature, rain); + LOGGER.info("{}: {} C, {} mm rain", days[index], String.format("%.2f", temperature), + String.format("%.1f", rain)); } - System.out.printf("Average temperature: %.2f C%n", totalTemperature / temperatures.length); - System.out.printf("Wettest day: %s with %.1f mm%n", wettestLabel, wettestDay); + LOGGER.info("Average temperature: {} C", + String.format("%.2f", totalTemperature / temperatures.length)); + LOGGER.info("Wettest day: {} with {} mm", wettestLabel, String.format("%.1f", wettestDay)); } }