【问题描述】
PAS中部署业务应用想要使用log4j记录日志,但发现最终使用的logback记录的日志
【解决方案】
原因:应用中同时存在log4j和logback(注:应用的三方jar中引用了logback)。由于log4j和logback都是slf4j的实现都包含org.slf4j.impl.StaticLoggerBinder.class,加载时优先加载到了logback的类,导致最终使用logback记录的日志。
解决方案:
方案一:需要移除logback,确保在classpath下只有log4j的org.slf4j.impl.StaticLoggerBinder.class,在PAS中重新部署应用。建议使用此方案。
方案二:PAS6.5.100及以后版本,可在PAS 管理控制台选择相应的实例配置,设置“Web 容器”中“类加载策略“为 DESC。配置后重新加载应用。注:此方案更改加载策略,会影响加载顺序,请使用时注意测试验证应用功能