From 39ffdfcb8a6b99d25baf971a58d5742922fc5406 Mon Sep 17 00:00:00 2001 From: "exercism-solutions-syncer[bot]" <211797793+exercism-solutions-syncer[bot]@users.noreply.github.com> Date: Tue, 18 Nov 2025 08:00:55 +0000 Subject: [PATCH] [Sync Iteration] java/logs-logs-logs/1 --- .../1/src/main/java/LogLevel.java | 20 ++++++++++++++ .../1/src/main/java/LogLine.java | 26 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 solutions/java/logs-logs-logs/1/src/main/java/LogLevel.java create mode 100644 solutions/java/logs-logs-logs/1/src/main/java/LogLine.java diff --git a/solutions/java/logs-logs-logs/1/src/main/java/LogLevel.java b/solutions/java/logs-logs-logs/1/src/main/java/LogLevel.java new file mode 100644 index 0000000..bf544e2 --- /dev/null +++ b/solutions/java/logs-logs-logs/1/src/main/java/LogLevel.java @@ -0,0 +1,20 @@ +public enum LogLevel { + // TODO: define members for each log level + TRACE (1), + DEBUG (2), + INFO (4), + WARNING (5), + ERROR (6), + FATAL (42), + UNKNOWN (0); + + private final int code; + + LogLevel(int code){ + this.code = code; + } + + public int getCode(){ + return this.code; + } +} diff --git a/solutions/java/logs-logs-logs/1/src/main/java/LogLine.java b/solutions/java/logs-logs-logs/1/src/main/java/LogLine.java new file mode 100644 index 0000000..93879da --- /dev/null +++ b/solutions/java/logs-logs-logs/1/src/main/java/LogLine.java @@ -0,0 +1,26 @@ +public class LogLine { + private final String logLine; + + public LogLine(String logLine) { + this.logLine = logLine; + } + + public LogLevel getLogLevel() { + String levelCode = logLine.substring(1,4); + return switch(levelCode){ + case "TRC" -> LogLevel.TRACE; + case "DBG" -> LogLevel.DEBUG; + case "INF" -> LogLevel.INFO; + case "WRN" -> LogLevel.WARNING; + case "ERR" -> LogLevel.ERROR; + case "FTL" -> LogLevel.FATAL; + default -> LogLevel.UNKNOWN; + }; + } + + public String getOutputForShortLog() { + int code =getLogLevel().getCode(); + String message = logLine.substring(7); + return code + ":" + message; + } +}