[英]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.