diff --git a/solutions/java/logs-logs-logs/2/src/main/java/LogLevel.java b/solutions/java/logs-logs-logs/2/src/main/java/LogLevel.java new file mode 100644 index 0000000..96e85ff --- /dev/null +++ b/solutions/java/logs-logs-logs/2/src/main/java/LogLevel.java @@ -0,0 +1,19 @@ +public enum LogLevel { + TRACE (1), + DEBUG (2), + INFO (4), + WARNING (5), + ERROR (6), + FATAL (42), + UNKNOWN (0); + + private final int logValue; + + LogLevel(int logValue){ + this.logValue = logValue; + } + + public int getLogValue(){ + return this.logValue; + } +} diff --git a/solutions/java/logs-logs-logs/2/src/main/java/LogLine.java b/solutions/java/logs-logs-logs/2/src/main/java/LogLine.java new file mode 100644 index 0000000..6ccb9d6 --- /dev/null +++ b/solutions/java/logs-logs-logs/2/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 logValue =getLogLevel().getLogValue(); + String message = logLine.substring(logLine.indexOf(":") + 2); + return logValue + ":" + message; + } +}