首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat上spring MVC app的Log4j配置

Tomcat上spring MVC app的Log4j配置
EN

Stack Overflow用户
提问于 2011-11-09 00:07:41
回答 2查看 4.5K关注 0票数 0

我一直在开发一个简单的Spring MVC应用程序作为报告服务。在本地,我一直使用mvn tomcat:run通过maven-tomcat-plugin运行应用程序。这完全符合预期。但是,我现在正在尝试将此服务部署到运行Tomcat6的服务器上。我将war文件加载到webapps目录中,Tomcat注意到它,部署它,然后抱怨:

代码语言:javascript
复制
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中):

代码语言:javascript
复制
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 box可能根本看不到这个属性包,但我不确定。我能够通过将捆绑包热复制到WEB-INF/classes中来确认这一假设,并获得适当的结果。在类路径上的正确位置是什么,而不是在一个奇怪的位置?

任何指导都是值得感谢的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-09 01:07:42

Maven在mvn生命周期的compile阶段将资源文件从/src/main/resources复制到/WEB-INF/classes。使用命令mvn war:war不会复制这些资源,因此必须执行mvn compile war:war命令才能使这些资源可用于您的应用程序。

票数 2
EN

Stack Overflow用户

发布于 2011-11-09 00:19:27

我认为,如果您希望自动拾取log4j.properties文件,则它需要位于类路径中。我通常将它放在Tomcat的Lib文件夹或war的lib文件夹中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8053446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档