Logback无法写入日志文件:Gradle配置及配置文件排查求助
问题诊断与修复建议
核心依赖问题
你的Gradle配置中,logback-classic的依赖使用了testImplementation:
testImplementation 'ch.qos.logback:logback-classic:0.9.26'
这个配置意味着只有测试代码编译和执行阶段才会引入该依赖,部署的WAR包中不会包含logback-classic库。当应用在WebLogic容器中运行时,无法加载logback的实现,会 fallback 到容器自带的日志框架,导致你的logback.xml配置中的文件输出(appender)完全不生效,仅控制台输出因容器默认配置正常工作。
修复步骤
将logback-classic的依赖改为implementation,确保它被打包到WAR中:
implementation 'ch.qos.logback:logback-classic:1.2.12'
注:建议升级logback版本到稳定的1.2.x系列——0.9.26是非常老旧的版本,存在诸多bug和兼容性问题,与你使用的Spring 5.2.x版本更匹配的是1.2.x版本
额外检查点
- 目录权限:确认应用运行用户对
/mnt/test目录有读写权限,否则logback无法创建或写入日志文件。 - 配置文件位置:确保logback.xml放在
src/main/resources目录下,打包后会被放到WAR的WEB-INF/classes目录中,logback才能正确加载。 - Logger配置验证:你的logback.xml中只有
weblogic命名空间的日志会输出到LOGFILE appender,若需业务日志写入文件,需给对应Logger(比如org.test.abc)添加<appender-ref ref="LOGFILE"/>配置。
内容的提问来源于stack exchange,提问作者Geek
相关产品推荐
相关产品推荐

