gpt4 book ai didi

java - 关闭maven中的日志记录

转载 作者:行者123 更新时间:2023-12-01 19:14:36 26 4
gpt4 key购买 nike

我读过一些关于关闭日志记录的主题。我在测试用例中使用 dbunit,并且发生了大量日志记录,并且由于日志太大而导致 Travis CI 构建失败。

简单来说,如何关闭maven中的日志记录?

嗨,我的 surfire 插件有这个:

        <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.15</version>
<configuration>
<systemProperties>
<property>
<name>java.util.logging.config.file</name>
<value>src/test/resources/logging.properties</value>
</property>
</systemProperties>

我已将文件放入 src/test/resources/logging.properties

内容如下:

org.dbunit.level=OFF

但是,当我运行 mvn verify 时:

18:57:06.121 [main] DEBUG org.dbunit.dataset.AbstractTable - getColumnIndex(columnName=cohort_definition_id) - start
18:57:06.121 [main] DEBUG org.dbunit.dataset.AbstractTableMetaData - getColumnIndex(columnName=cohort_definition_id) - start
18:57:06.121 [main] DEBUG org.dbunit.dataset.datatype.IntegerDataType - getSqlValue(column=1, resultSet=org.postgresql.jdbc.PgResultSet@3ad98a3) - start
18:57:06.121 [main] DEBUG org.dbunit.database.ForwardOnlyResultSetTable - getValue(row=4, columnName=subject_id) - start
18:57:06.121 [main] DEBUG org.dbunit.dataset.AbstractTable - getColumnIndex(columnName=subject_id) - start
18:57:06.121 [main] DEBUG org.dbunit.dataset.AbstractTableMetaData - getColumnIndex(columnName=subject_id) - start
18:57:06.121 [main] DEBUG org.dbunit.dataset.datatype.BigIntegerDataType - getSqlValue(column=2, resultSet=org.postgresql.jdbc.PgResultSet@3ad98a3) - start
18:57:06.121 [main] DEBUG org.dbunit.database.ForwardOnlyResultSetTable - getValue(row=4, columnName=cohort_start_date) - start
18:57:06.121 [main] DEBUG org.dbunit.dataset.AbstractTable - getColumnIndex(columnName=cohort_start_date) - start
18:57:06.121 [main] DEBUG org.dbunit.dataset.AbstractTableMetaData - getColumnIndex(columnName=cohort_start_date) - start
18:57:06.122 [main] DEBUG org.dbunit.dataset.datatype.DateDataType - getSqlValue(column=3, resultSet=org.postgresql.jdbc.PgResultSet@3ad98a3) - start
18:57:06.122 [main] DEBUG org.dbunit.database.ForwardOnlyResultSetTable - getValue(row=4, columnName=cohort_end_date) - start
18:57:06.122 [main] DEBUG org.dbunit.dataset.AbstractTable - getColumnIndex(columnName=cohort_end_date) - start
18:57:06.122 [main] DEBUG org.dbunit.dataset.AbstractTableMetaData - getColumnIndex(columnName=cohort_end_date) - start
18:57:06.122 [main] DEBUG org.dbunit.dataset.datatype.DateDataType - getSqlValue(column=4, resultSet=org.postgresql.jdbc.PgResultSet@3ad98a3) - start
18:57:06.122 [main] DEBUG org.dbunit.database.ForwardOnlyResultSetTable - getValue(row=5, columnName=cohort_definition_id) - start

我没有在我的 pom 中使用任何其他特殊库进行日志记录。这是一个共享代码库,因此不符合“惯例”,它确实安装了 spring Artifact ,我不知道这些人是否在我不知情的情况下“注入(inject)”日志记录:

    <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>1.5.20.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<version>1.5.20.RELEASE</version>
<scope>test</scope>
</dependency>

如有任何帮助,我们将不胜感激。

谢谢!

2019年12月20日更新:我在 dbunit 中正在记录日志的类中设置了一个断点,它似乎正在使用 logback(LoggerContext 是 ch.qos.logback.classic)。所以,我认为这里的解决方案是弄清楚如何指定 logback 的配置......

最佳答案

好的,解决方案是了解正在使用哪个记录器,然后为其提供正确的配置。

就我而言,它是 logback。

我将 logback-test.xml 文件放入我的 test/resources 文件夹中:

<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>

<root level="info">
<appender-ref ref="STDOUT" />
</root>
</configuration>

所有调试消息都消失了!我需要自学如何为我的构建指定显式日志记录实现,但我希望这些信息对其他人有用。

感谢所有提供意见和想法的人。非常感谢。

关于java - 关闭maven中的日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59432524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com