我第一次尝试配置log4j但是没有创建myTest.log文件。下面是我的log4j.properties文件,该文件的位置是WEB-INF / classes文件夹。
log4j.rootLogger=INFO, stdout, com.myTest
#tomcat logger
#log4j.logger.org.apache.catalina=DEBUG
log4j.logger.com.myTest=INFO
log4j.logger.org.apache.commons.configuration.PropertiesConfiguration=DEBUG
#appenders
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%5p] %d{yyyy-MM-dd HH:mm:ss} %m%n
log4j.appender.com.myTest=org.apache.log4j.FileAppender
log4j.appender.com.myTest.File=myTest.log
log4j.appender.com.myTest.MaxFileSize=15MB
log4j.appender.com.myTest.MaxBackupIndex=10
log4j.appender.com.myTest.layout=org.apache.log4j.PatternLayout
log4j.appender.com.myTest.layout.ConversionPattern=[%5p] %d{yyyy-MM-dd HH:mm:ss} %m%n
log4j.appender.org.apache.ibatis=org.apache.log4j.FileAppender
log4j.appender.org.apache.ibatis.File=myTest.log
log4j.appender.org.apache.ibatis.MaxFileSize=15MB
log4j.appender.org.apache.ibatis.MaxBackupIndex=10
log4j.appender.org.apache.ibatis.layout=org.apache.log4j.PatternLayout
log4j.appender.org.apache.ibatis.layout.ConversionPattern=[%5p] %d{yyyy-MM-dd HH:mm:ss} %m%n
我的控制器类就像
@Controller
public class LoginController
{
static final Logger logger = Logger.getLogger(LoginController.class);
@RequestMapping("/login")
public ModelAndView login(){
logger.debug("Test logs");
logger.error("test error");
return new ModelAndView("login");
}
}
但我在Apache / log文件夹中看不到任何myTest.log文件。这应该是一个地方吗?
我使用的Jar文件是log4j-1.2.16.jar。还有其他需要。
我正在使用Ubuntu,这是我第一次使用它。
答案 0 :(得分:2)
将log4j.properties文件放在build / classes /文件夹中。
将文件路径放到$ {catalina.home} /logs/myTest.log中。
log4j.appender.com.myTest.File=${catalina.home}/log/myTest.log
可以通过在LoginController类中编写以下代码来检查日志路径
Enumeration e = Logger.getRootLogger().getAllAppenders();
while ( e.hasMoreElements() ){
Appender app = (Appender)e.nextElement();
if ( app instanceof FileAppender ){
System.out.println("File: " + ((FileAppender)app).getFile());
}
}
答案 1 :(得分:1)
如您在问题中发布,log4j.properties
文件的位置是WEB-INF/classes
文件夹。
要解决此问题,请尝试将log4j.properties
文件放在应用程序的src
文件夹中。