我已将以下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");
答案 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"));