有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在哪里放置log4j。Tomcat7上的xml?

我目前正在开发一个Java Struts2 webapp(使用Maven),并已成功配置使用数据源与数据库连接。由于May应用程序需要能够在环境之间移动(开发>;认证>;生产),因此它必须使用服务器配置文件来加载参数(例如数据源和日志级别)

我找不到任何关于如何配置JavaWebApp以使用log4j的参考资料。来自应用程序外部的xml文件(退出战争)。对于maven,我只是简单地把log4j放进去。xml在我的src/main/resources文件夹中,它会自动加载。如何确保我的webapp加载外部log4j。xml文件是否已部署


共 (1) 个答案

  1. # 1 楼答案

    默认情况下,Maven会将src/main/resources中的所有文件放入/WEB-INF/classes/。使用log4j,您可以借助Web应用部署描述符(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://前缀一起使用