oppgave: logger

This commit is contained in:
2026-03-03 06:31:50 +01:00
parent 341848f3e8
commit 04a598a5fa
7 changed files with 117 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
package oving6.logger;
public class DistributingLogger implements ILogger {
ILogger errorLogger;
ILogger warningLogger;
ILogger infoLogger;
DistributingLogger(ILogger errorLogger, ILogger warningLogger, ILogger infoLogger) {
this.errorLogger = errorLogger;
this.warningLogger = warningLogger;
this.infoLogger = infoLogger;
}
void setLogger(String severity, ILogger logger) {
switch (severity) {
case "error":
errorLogger = logger;
break;
case "warning":
warningLogger = logger;
break;
case "info":
infoLogger = logger;
break;
default:
throw new IllegalArgumentException("Invalid severity level for logger");
}
}
@Override
public void log(String severity, String message, Exception exception) {
switch (severity) {
case "error":
errorLogger.log(severity, message, exception);
break;
case "warning":
warningLogger.log(severity, message, exception);
break;
case "info":
infoLogger.log(severity, message, exception);
break;
default:
throw new IllegalArgumentException("Invalid severity level for logger");
}
}
}