我想使用log4j在我的Tomcat webapp上进行一些日志记录。我有一个数据访问类,应该记录下活动。用户的信息被请求等。 我已经添加了文件处理程序和consolehandler到我的rootlogger,我完全能够在控制台中看到正确的日志消息,但不幸的是没有在指定的文件中。Log4j不会登录到文件,只能登录到控制台
我的代码如下:
imports...
public class UserDao {
private final Logger logger = Logger.getRootLogger();
public UserDao() {
FileAppender fa = new FileAppender();
fa.setLayout(new PatternLayout("%d{yyyy-MM-dd HH:mm:ss.SSSS} %p %t %c \u2013 %m%n"));
fa.setName("UserDaoFileAppender");
fa.setFile("UserDao.log");
fa.setThreshold(Level.INFO);
fa.setAppend(true);
fa.activateOptions();
logger.addAppender(fa);
ConsoleAppender ca = new ConsoleAppender();
ca.setLayout(new PatternLayout("%d{yyyy-MM-dd HH:mm:ss.SSSS} %p %t %c \u2013 %m%n"));
ca.setThreshold(Level.WARN);
ca.activateOptions();
logger.addAppender(ca);
logger.warn("Test warning");
logger.error("Test error");
logger.info("Test info");
logger.debug("test debug");
}
// Rest of the class.
}
我已经使用设立的appender配置的属性文件的方式尝试过,但我从来没有能够得到它的工作。正如一些人在这里提出的,我尝试将它们放在WEB-INF/classes文件夹和src-root中。
我不明白为什么应该有所作为。编辑:它不。 – ssnielsen