使用EDAS后Log4j日志被覆盖导致Log4j日志无法正常输出
问题描述
使用EDAS后,Log4j日志无法正常输出。
问题原因
Log4j日志被覆盖,导致日志无法正常输出。
解决方案
- 将配置文件由默认名称改成其他名称。
说明:Log4j如果使用默认名称,Log4j会被自动屏蔽。
- 配置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]为应用名称。
- 启动应用。
说明:Pandora首先会加载内置的Log4j.jar包,同时加载Pandora内部配置的
Log4j
配置文件,此时不会加载业务应用的配置。Pandora加载完成后,在应用的web.xml
文件加载时会执行Log4jConfigListener加载业务自定义的Log4j配置,保证业务的Log4j配置生效。
适用于
- 企业级分布式应用服务EDAS