You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot(Log4j2)项目IntelliJ可生成日志 本地Tomcat部署无日志问题排查

Spring Boot集成Log4j2打war部署到Tomcat无日志生成排查

问题现象

  • 项目为基础Spring Boot应用,通过Log4j2实现日志记录能力
  • 在IntelliJ IDEA中直接运行应用时,可按照配置的指定路径正常生成日志文件
  • 项目打包为war格式部署到本地Tomcat服务器后,全程无日志文件生成

排查过程

当前项目的Log4j2配置逻辑与以下示例一致:设置固定本地路径为日志输出目录,通过RollingFile appender将项目包下的info级别日志写入文件;Root日志节点仅绑定控制台输出appender

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn">
    <Properties>
        <Property name="log.dir">C:\\users\myname\Desktop</Property> 
        <Property name="app.name">myapp</Property>
    </Properties>
 
    <Appenders>
        <RollingFile name="fileLogger" fileName="${log.dir}/app-info.log" filePattern="${log.dir}/app-info-%d{yyyy-MM-dd}.log">
            <PatternLayout>
                <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n</pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true" />
            </Policies>
        </RollingFile>
 
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n" />
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="com.myapp.mypackage" level="info" additivity="true">
            <appender-ref ref="fileLogger" level="info" />
        </Logger>
        <Root level="debug" additivity="false">
            <appender-ref ref="console" />
        </Root>
    </Loggers>
</Configuration>
  • 尝试两种格式配置日志输出路径:双反斜杠格式C:\\users\myname\Desktop、正斜杠格式C:/users/myname/Desktop,两种格式在IDEA运行场景下均可正常生成日志,但部署到Tomcat后仍无日志产出
  • 相同路径配置在其他开发人员的Tomcat环境下可正常生成桌面日志,但对方无法说明做过特殊配置调整
  • 主动将日志目录参数设置为无意义的错误值,部署到Tomcat后应用运行无任何报错,初步判断Tomcat运行时未加载到项目内置的Log4j2配置文件

问题定位结论

经过Tomcat版本、环境变量多轮对照测试,确认问题触发条件与CATALINA_HOME环境变量、Tomcat版本强相关:

  • 共测试三个Tomcat版本:8.5、9.0.30、9.0.37
  • Tomcat 9.0.30必须设置CATALINA_HOME环境变量才能启动,但设置该变量后会出现日志不生成的问题
  • 卸载9.0.30后切换为Tomcat 8.5,将CATALINA_HOME变量指向8.5安装目录,问题仍复现
  • 最终卸载9.0.30后切换为Tomcat 9.0.37,清空所有系统级别的CATALINA_HOME环境变量后,Log4j2日志可正常按配置生成

内容的提问来源于stack exchange,提问作者davedabull

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.24 14:54:04