阿里云首页 企业级分布式应用服务 EDAS

使用EDAS后Log4j日志被覆盖导致Log4j日志无法正常输出

问题描述

使用EDAS后,Log4j日志无法正常输出。

问题原因

Log4j日志被覆盖,导致日志无法正常输出。

解决方案

  1. 将配置文件由默认名称改成其他名称。
    说明:Log4j如果使用默认名称,Log4j会被自动屏蔽。
  2. 配置Spring的Log4jConfigListener内容,在web.xml中添加如下配置,修改配置文件的存放路径。
     <listener>
         <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
     </listener>
     <context-param>
         <param-name>log4jConfigLocation</param-name>
         <param-value>WEB-INF/log4j-[$App_Name].xml</param-value>
     </context-param>     
    说明:[$App_Name]为应用名称。
  3. 启动应用。
    说明:Pandora首先会加载内置的Log4j.jar包,同时加载Pandora内部配置的Log4j配置文件,此时不会加载业务应用的配置。Pandora加载完成后,在应用的web.xml文件加载时会执行Log4jConfigListener加载业务自定义的Log4j配置,保证业务的Log4j配置生效。

适用于

  • 企业级分布式应用服务EDAS
首页 企业级分布式应用服务 EDAS 开发者指南 开发者指南常见问题 应用开发 Pandora问题 使用EDAS后Log4j日志被覆盖导致Log4j日志无法正常输出