spring 引导命令行 运行 不使用 logback-spring.xml

spring boot command line run not using logback-spring.xml

这个应用程序在 IntelliJ 中运行良好,并根据配置创建日志文件,但是当从命令行启动应用程序时,它不使用 logback-spring.xml 文件,而是继续创建 *[=22= .log 文件似乎来自 spring *logback/base.xml。 我花了几天时间来解决这个问题,但到目前为止似乎没有任何效果,其他问题也没有解决根本问题,感谢您的帮助。

我以 -

身份启动应用程序
java -jar abc.jar -Dspring.profiles.active=test

我可以看到 logback-spring.xml 存在于 abc.jar 中,因为

BOOT-INF/classes/ logback-spring.xml

在这里您可以找到如何配置 logbackspring-boot howto.logging.logback

src/main/resources/logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />

    <!-- include spring boot file-appender -->
    <include resource="org/springframework/boot/logging/logback/file-appender.xml" />

    <root level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" /> <!-- add file-appender -->
    </root>
    <logger name="com.example" level="DEBUG"/>
</configuration>

并在 src/main/resources/application.properties

中提供日志文件名
logging.file.name=application.log

您应该会在使用

启动应用程序的同一目录中看到一个文件 application.log

java -jar your-app.jar --spring.profiles.active=test