package jp.co.worksap.workspace.cli; import java.io.File; import org.slf4j.LoggerFactory; import org.slf4j.MDC; import ch.qos.logback.classic.Level; import ch.qos.logback.classic.Logger; final class LogConfigurator { /** * <p>Change configuration of LogBack. * Note that only this class accesses to LogBack, other classes should * access SLF4J instead of LogBack to keep portability.</p> * * @param option */ void configureLogger(CliOption option) { Logger root = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); if (option.isDebug()) { // see http://stackoverflow.com/a/3838108 root.setLevel(Level.ALL); } else { root.setLevel(Level.INFO); } if (option.getLogFile().isPresent()) { File logFile = option.getLogFile().get(); MDC.put("logfile", logFile.getAbsolutePath()); } else { root.getAppender("SIFT").stop(); } } }