springboot 2.3.10+logback 1.2.3本地能输出文件日志,服务器上无法输出文件日志

本地和服务器均使用dev环境,其中dev中有关日志的配置如下:

# 打开控制台输出SQL日志
logging:
  config: classpath:logback-dev.xml
  level:
    # 一堆等级设置

其中logback-dev.xml文件中与文件日志配置如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <!-- 文件输出 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>all.%d.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <maxHistory>30</maxHistory>
        </rollingPolicy>

        <encoder>
            <pattern>${pattern}</pattern>
        </encoder>
    </appender>


    <root level="INFO">
        <appender-ref ref="FILE"/>
    </root>

</configuration>

服务器配置:

  • 系统:CentOS 7
  • JDK:Eclipse OpenJ9 VM AdoptOpenJDK-11.0.11+9

本机配置:

  • 系统:macOS 12.0 Beta(21A5304g)
  • JDK:Open JDK 11.0.2

曾今在yml文件中进行过logging.file的配置,但是因为远程无法创建日志文件,认为其产生了冲突并进行了删除,求大神解答!

阅读 3k
1 个回答
✓ 已被采纳新手上路,请多包涵

问题已经解决,通过检查,是因为启动时使用的指令java -jar xxx.jar -Dspring.profiles.active=prod-D参数位置不太对导致无法加载配置文件,因此也就无法读取logging的配置。通过将-D参数前移为java -jar -Dspring.profiles.active=prod xxx.jar,问题成功解决

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题