Log4j每次打印到控制台

时间:2014-07-03 06:55:01

标签: java eclipse logging log4j log4j2

我已将以下log4j.properties文件放在我的eclipse动态Web项目的src文件夹中。但每次日志都会在控制台上打印,但我正在编写代码以仅在文件中打印日志。如果我要删除log4j.properties文件,那么它也会在控制台上打印出来。不知道出了什么问题。

###############################################################################

log4j.rootLogger=INFO, file

###############################################################################

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=D:/apache-tomcat-7.0.47/webapps/LogFile.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %-5p %c - %m%n

###############################################################################

我使用以下代码打印日志。

import org.apache.log4j.Logger;

Logger log = Logger.getLogger(Client.class.getName());
log.info("First log");

2 个答案:

答案 0 :(得分:2)

尝试覆盖类中的log4j配置,如下所示:

import org.apache.log4j.PropertyConfigurator;;

static{
     PropertyConfigurator.configure("src/main/resources/log4j.properties");
}

这假设您在log4j.properties

下有一个名为src/main/resources的文件

答案 1 :(得分:1)

谢谢Nikhil

我通过查看代码使用了以下代码,并且工作正常。

import org.apache.log4j.PropertyConfigurator;

PropertyConfigurator.configure(getClass().getClassLoader().getResourceAsStream("log4j.properties"));