把log4j.xml放在tomcat 7上的哪里?
我目前正在开发Java Struts2 webapp(使用Maven)并已成功配置数据源的使用以连接数据库。 由于May应用程序需要在环境之间移动(开发>同源化>生产),因此必须使用服务器配置文件来加载参数(例如数据源和日志级别)。
我找不到任何关于如何配置java webapp以从应用程序外部使用log4j.xml文件的引用(在WAR之外)。 使用maven我只需将log4j.xml放在我的src/main/resources
文件夹中,它就会自动加载。 我该怎么做才能确保我的webapp在部署时加载外部log4j.xml文件?
Maven默认将所有文件从src/main/resources
放入/WEB-INF/classes/
。 使用log4j,您可以借助Web App Deployment Descriptor( web.xml
)指定配置文件的位置。 只需添加log4j监听器:
org.springframework.web.util.Log4jConfigListener
和上下文参数:
log4jConfigLocation classpath:log4j.xml
classpath:
相当于/WEB-INF/classes
,你可以指定任何路径,例如,使用${catalina.home}
,一个tomcat特定的变量。 与file://
前缀一起使用