package org.xenei.jdbc4sparql;
import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.FileAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
public class LoggingConfig {
public static ConsoleAppender getConsole() {
if (LoggingConfig.console == null) {
LoggingConfig.console = new ConsoleAppender(); // create appender
// configure the appender
final String PATTERN = "%d [%p|%c|%C{1}] %m%n";
LoggingConfig.console.setLayout(new PatternLayout(PATTERN));
LoggingConfig.console.setThreshold(Level.INFO);
LoggingConfig.console.activateOptions();
// add appender to any Logger (here is root)
Logger.getRootLogger().addAppender(LoggingConfig.console);
}
return LoggingConfig.console;
}
public static FileAppender getLog() {
if (LoggingConfig.log == null) {
LoggingConfig.log = new FileAppender();
LoggingConfig.log.setName("FileLogger");
LoggingConfig.log.setFile("/tmp/loggingConfig.log");
LoggingConfig.log.setLayout(new PatternLayout(
"%d %-5p [%c{1}] %m%n"));
LoggingConfig.log.setThreshold(Level.DEBUG);
LoggingConfig.log.setAppend(true);
LoggingConfig.log.activateOptions();
Logger.getRootLogger().addAppender(LoggingConfig.log);
}
return LoggingConfig.log;
}
public static void setConsole(final Level level) {
LoggingConfig.getConsole().setThreshold(level);
}
public static void setLog(final Level level) {
LoggingConfig.getLog().setThreshold(level);
}
public static void setLogger(final Class<?> clazz, final Level level) {
Logger.getLogger(clazz).setLevel(level);
}
public static void setLogger(final String name, final Level level) {
Logger.getLogger(name).setLevel(level);
}
public static void setRootLogger(final Level level) {
Logger.getRootLogger().setLevel(level);
}
private static ConsoleAppender console;
private static FileAppender log;
}