package io.cattle.platform.logback;
import io.cattle.platform.archaius.util.ArchaiusUtil;
import java.net.URL;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.joran.JoranConfigurator;
import ch.qos.logback.core.joran.spi.JoranException;
import com.netflix.config.DynamicStringProperty;
public class LogbackStartup implements Runnable {
private static final DynamicStringProperty LOGBACK_CONFIG = ArchaiusUtil.getString("logback.config");
final static Logger log = LoggerFactory.getLogger(LogbackStartup.class);
@Override
public void run() {
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
URL url = LogbackStartup.class.getClassLoader().getResource(LOGBACK_CONFIG.get());
if (url != null) {
try {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
context.reset();
configurator.doConfigure(url);
log.info("Logback configured with [{}]", url);
} catch (JoranException je) {
}
}
// StatusPrinter.printInCaseOfErrorsOrWarnings(context);
}
}