一尘不染

将log4j.xml放在Tomcat 7上的哪里?

tomcat

我目前正在开发Java
Struts2网络应用程序(使用Maven),并且已经成功配置了数据源的使用以与数据库连接。由于May应用程序需要具有在环境之间移动的能力(“开发”>“同质化”>“生产”),因此它必须使用服务器配置文件来加载参数(例如数据源和日志级别)。

我找不到有关如何配置Java
Web应用程序以从应用程序外部(WAR之外)使用log4j.xml文件的任何参考。使用maven,我只需将log4j.xml放在我的src/main/resources文件夹中,它将自动加载。如何确保我的Web应用程序在部署时加载外部log4j.xml文件?


阅读 413

收藏
2020-06-16

共1个答案

一尘不染

Maven默认将所有文件从src/main/resources放入/WEB-INF/classes/。使用log4j,可以在Web
App部署描述符(web.xml)的帮助下指定配置文件的位置。只需添加log4j侦听器:

<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

和上下文参数:

<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>classpath:log4j.xml</param-value>
</context-param>

classpath:等价于/WEB- INF/classes,您可以指定任何路径,例如使用${catalina.home}tomcat特定变量。与file://前缀一起使用

2020-06-16