oppgave: logger
This commit is contained in:
48
src/main/java/oving6/logger/DistributingLogger.java
Normal file
48
src/main/java/oving6/logger/DistributingLogger.java
Normal 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");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user