【问题标题】:Spring 5 how to use Log4jConfigListenerSpring 5 如何使用 Log4jConfigListener
【发布时间】:2018-12-20 12:12:02
【问题描述】:

以前用spring 4.3.8版本, 我曾经在 web.xml 中使用 Log4j 配置,如下面的代码,

<context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>classpath:/log4j-${spring.profiles.active}.xml</param-value>
    </context-param>

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

目前,我尝试使用 spring 5.0.7 版本,但是我不能使用 Log4jConfigListener

我意识到 Spring 5.x 版本中不存在 Log4jConfigListener

我可以使用“log4j.xml”(默认名称),但我想为服务器、本地环境使用自定义名称

我该怎么办?

【问题讨论】:

    标签: spring log4j logback


    【解决方案1】:

    Log4jConfigListener 自 Spring 4.2.1 起已被删除,以支持 Apache Log4j 2。

    查看相关信息Spring 4.2.1 deprecation list

    org.springframework.web.util.Log4jConfigListener

    从 Spring 4.2.1 开始,支持 Apache Log4j 2(遵循 Apache 对 log4j 1.x 的 EOL 声明)

    您可以使用Environment Lookup 在 XML 文件中配置环境。

    【讨论】:

    • 我如何使用“环境查找”来替换 Log4jConfigListener 的任何具体示例?
    【解决方案2】:

    只需从 web.xml 中删除侦听器并将 log4j.properties 文件放入您的类路径中。那么你就会得到你的结果。

    【讨论】:

      【解决方案3】:

      org.springframework.web.util.Log4jConfigListener 已弃用 从 Spring 4.2.1 开始,支持 Apache Log4j 2(遵循 Apache 对 log4j 1.x 的 EOL 声明)

      作为替代方案,您可以更改配置以使用 org.apache.logging.log4j.web.Log4jServletContextListener (log4j-web) 更多详情可在这找到 https://logging.apache.org/log4j/2.x/manual/webapp.html

      【讨论】:

        猜你喜欢
        • 2020-08-18
        • 1970-01-01
        • 2018-07-17
        • 2016-02-29
        • 2018-08-22
        • 2021-01-19
        • 2018-03-26
        • 2018-04-09
        • 2018-08-12
        相关资源
        最近更新 更多