If you want to change the log level for the whole app at runtime, I've found that this works. Not very intuitive, so hope that someone finds it useful.
import org.apache.log4j.Category;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import java.util.Enumeration;
public class LoggingUtils {
public static void setLevel(Level level){
Logger root = Logger.getRootLogger();
Enumeration allLoggers = root.getLoggerRepository().getCurrentCategories();
root.setLevel(level);
while (allLoggers.hasMoreElements()){
Category tmpLogger = (Category) allLoggers.nextElement();
tmpLogger .setLevel(level);
}
}
}