使用log4j在服务器上找不到日志文件

时间:2012-08-01 08:42:03

标签: java tomcat spring-mvc log4j

我第一次尝试配置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,这是我第一次使用它。

2 个答案:

答案 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文件夹中。