java-commons/commons-logger/src/main/java/io/gitlab/jfronny/commons/logger/CompoundLogger.java

45 lines
1.2 KiB
Java

package io.gitlab.jfronny.commons.logger;
import java.util.ResourceBundle;
/**
* Logger implementation that logs to multiple loggers at once.
*/
public class CompoundLogger implements SystemLoggerPlus {
private final String name;
private final System.Logger[] loggers;
public CompoundLogger(String name, System.Logger[] loggers) {
this.name = name;
this.loggers = loggers;
}
@Override
public String getName() {
return name;
}
@Override
public boolean isLoggable(Level level) {
for (System.Logger logger : loggers) {
if (logger.isLoggable(level)) return true;
}
return false;
}
@Override
public void log(Level level, ResourceBundle resourceBundle, String s, Throwable throwable) {
for (System.Logger logger : loggers) {
if (logger.isLoggable(level)) logger.log(level, resourceBundle, s, throwable);
}
}
@Override
public void log(Level level, ResourceBundle resourceBundle, String s, Object... objects) {
for (System.Logger logger : loggers) {
if (logger.isLoggable(level)) logger.log(level, resourceBundle, s, objects);
}
}
}