001
014
015 package com.liferay.portal.log;
016
017 import com.liferay.portal.kernel.log.Log;
018 import com.liferay.portal.kernel.log.LogFactoryUtil;
019 import com.liferay.portal.kernel.log.LogWrapper;
020
021 import org.apache.log4j.Level;
022 import org.apache.log4j.Logger;
023
024
027 public class Log4JLoggerTestUtil {
028
029 public static CaptureAppender configureLog4JLogger(
030 String name, Level level) {
031
032 LogWrapper logWrapper = (LogWrapper)LogFactoryUtil.getLog(name);
033
034 Log log = logWrapper.getWrappedLog();
035
036 if (!(log instanceof Log4jLogImpl)) {
037 throw new IllegalStateException(
038 "Log " + name + " is not a Log4j logger");
039 }
040
041 Log4jLogImpl log4jLogImpl = (Log4jLogImpl)log;
042
043 Logger logger = log4jLogImpl.getWrappedLogger();
044
045 CaptureAppender captureAppender = new CaptureAppender(logger);
046
047 logger.addAppender(captureAppender);
048
049 logger.setLevel(level);
050
051 return captureAppender;
052 }
053
054 public static Level setLoggerLevel(String name, Level level) {
055 LogWrapper logWrapper = (LogWrapper)LogFactoryUtil.getLog(name);
056
057 Log log = logWrapper.getWrappedLog();
058
059 if (!(log instanceof Log4jLogImpl)) {
060 throw new IllegalStateException(
061 "Log " + name + " is not a Log4j logger");
062 }
063
064 Log4jLogImpl log4jLogImpl = (Log4jLogImpl)log;
065
066 Logger logger = log4jLogImpl.getWrappedLogger();
067
068 Level oldLevel = logger.getLevel();
069
070 logger.setLevel(level);
071
072 return oldLevel;
073 }
074
075 }