簡體   English   中英

Tomcat上Spring MVC應用的Log4j配置

[英]Log4j configuration for spring MVC app on Tomcat

我一直在開發一個簡單的Spring MVC應用程序作為報告服務。 在本地,我一直使用mvn tomcat:run與maven-tomcat-plugin一起運行應用程序。 這完全符合預期。 但是,我現在正嘗試將此服務部署到運行Tomcat 6的服務器。我將war文件加載到webapps目錄中,Tomcat注意到了它,進行了部署,然后抱怨:

log4j:WARN No appenders could be found for logger
(org.springframework.web.filter.CharacterEncodingFilter).

log4j:WARN Please initialize the log4j system properly.

而且,毫不奇怪,該服務沒有日志記錄。

上面的錯誤消息對我來說還不清楚,我想知道是否有人可以給我一些幫助。

為了后代,我有一個非常簡單的log4j.properties文件(位於/src/main/resources ):

log4j.rootLogger=WARN, console

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern= %d{HH:mm:ss,SSS} [%t] %-5p %x %C{1} : %m%n

log4j.logger.com.rtr=DEBUG

我目前的假設是,tomcat框可能根本看不到該屬性包,但是我不確定。 通過將捆綁軟件熱復制到WEB-INF/classes並獲得適當的結果,我得以證實這一假設。 既在類路徑上又不在陌生位置的正確位置是什么?

任何指導表示贊賞。

在mvn生命周期的compile階段,Maven將資源文件從/src/main/resources復制到/WEB-INF/classes classs。 使用命令mvn war:war將不會復制這些資源,因此您必須執行mvn compile war:war才能使資源可用於您的應用程序。

我認為,如果希望自動獲取log4j.properties文件,則該文件必須位於類路徑中。 我通常將其放在Tomcat的Lib文件夾或war的lib文件夾中。

暫無
暫無

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

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