首页 > 解决方案 > Spring Boot 应用程序中的 Maven 测试日志未使用配置的 Logback appender

问题描述

我有 Spring Boot 应用程序,并且正在使用 logback 进行日志记录。我在 logback 文件中定义了 STDOUT appender,它根据模式格式化日志行(附加的 logback 文件代码)。但是,当我从命令行运行“mvn clean install”时,我看不到在 spring 生成的日志上应用了相同的模式,尽管在我编写的日志上应用了相同的模式。(请参阅附加的日志)。我怀疑在幕后是其他一些 spring/maven appender 负责这种行为。

提前感谢任何线索!

“mvn clean install”生成的日志

[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.856 s - in com.analytics.dao.sys.func.workflow.RecruitingWorkflowFactDaoTest
[INFO] Running com.analytics.dao.sys.func.workflow.FuncTest
22-12-2019 17:17:27.678 [main]
                ERROR c.a.d.e.LogTest - This is test error
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.096 s <<< FAILURE! - in com.analytics.dao.sys.func.workflow.FuncTest
[ERROR] FuncTest  Time elapsed: 1.095 s  <<< ERROR!
org.springframework.jdbc.BadSqlGrammarException: 

### Error querying database.  Cause: java.sql.SQLException: Invalid column name 'xyz'.
### The error may exist in com.analytics/dao/mybatis/sys/maps/func/func.xml
### The error occurred while setting parameters
### SQL: DECRYPTION BY PASSWORD = 'random-pwd' 
### Cause: java.sql.SQLException: Invalid column name 'xyz'.
; bad SQL grammar []; nested exception is java.sql.SQLException: Invalid column name 'xyz'.
    at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:234)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)

logback-test.xml

<configuration>
    <!-- <include resource="org/springframework/boot/logging/logback/base.xml" /> -->
    <appender name="STDOUT"
        class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{dd-MM-yyyy HH:mm:ss.SSS} %magenta([%thread])
                %highlight(%-5level) %logger{36}.%M - %replace(%msg){"PASSWORD\s*=.*","Password=xxxxx"}%n</pattern>
        </encoder>
    </appender>
    <root level="ERROR">
        <appender-ref ref="STDOUT" />
    </root>

    <logger name="org.springframework" additivity="false" level="ERROR">
        <appender-ref ref="STDOUT" />
    </logger>

    <logger name="com.analytics" additivity="false" level="ERROR">
        <appender-ref ref="STDOUT" />
    </logger>

</configuration>

标签: spring-bootmavenlogback

解决方案


推荐阅读