簡體   English   中英

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

[英]Can't find log file on server using 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,這是我第一次使用它。

將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());
  }

}

正如您在問題中發布的那樣, log4j.properties文件的位置WEB-INF/classes文件夾。

要解決此問題,請嘗試將log4j.properties文件放在應用程序的src文件夾中。

我遇到了同樣的問題。在服務器機器上,log4j無法寫入日志文件,但是使用了突出顯示日志信息,它正在工作。(你呢?)我認為是權限問題。 所以我在tomcat日志位置寫日志文件(logs /)

log4j.appender.com.myTest.File=${catalina.home}/logs/myTest.log 

希望這對你有用!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM