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

如何禁用TestNG控制台中org.testng.internal.Utils的INFO日志

屏蔽TestNG内部Utils类INFO日志的解决方案

一、通过Log4j2配置过滤特定日志

在你的Log4j2配置文件中,针对org.testng.internal.Utils类添加专属logger配置,将其日志级别设为WARN及以上,直接过滤掉INFO级别的冗余日志:

修改后的Log4j2配置:

status=warn
appender.console.type=Console
appender.console.name=LogToConsole
appender.console.layout.type=PatternLayout
appender.console.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
# Rotate log file
appender.rolling.type=RollingFile
appender.rolling.name=LogToRollingFile
appender.rolling.fileName=log4j2/log4j2-automation-test.log
appender.rolling.filePattern=log4j2/$${date:yyyy-MM}/log4j2-automation-test-%d{MM-dd-yyyy}-%i.log.gz
appender.rolling.layout.type=PatternLayout
appender.rolling.layout.pattern=%d %p %C{1.} [%t] %m%n
appender.rolling.policies.type=Policies
appender.rolling.policies.time.type=TimeBasedTriggeringPolicy
appender.rolling.policies.size.type=SizeBasedTriggeringPolicy
appender.rolling.policies.size.size=50MB
appender.rolling.strategy.type=DefaultRolloverStrategy
appender.rolling.strategy.max=10
# 新增:屏蔽TestNG Utils的INFO日志
logger.testng-utils.name=org.testng.internal.Utils
logger.testng-utils.level=WARN
logger.testng-utils.additivity=false
logger.testng-utils.appenderRef.rolling.ref=LogToRollingFile
# 原有业务日志配置
logger.app.name=com.da.mobile.automation
logger.app.level=debug
logger.app.additivity=false
logger.app.appenderRef.rolling.ref=LogToRollingFile
logger.app.appenderRef.console.ref=LogToConsole
rootLogger.level=info
rootLogger.appenderRef.stdout.ref=LogToConsole
  • level=WARN:仅允许WARN及以上级别的日志输出,直接过滤INFO级别的方法耗时日志
  • additivity=false:避免该类日志被rootLogger重复处理输出到控制台

二、修复Maven依赖的日志实现冲突

当前pom.xml同时引入了slf4j-simple和log4j-core,两者都是SLF4J的日志实现,会导致日志输出逻辑混乱。建议移除slf4j-simple,改用Log4j2官方的SLF4J绑定包,确保所有日志统一由Log4j2处理:

调整后的依赖片段:

<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>${testng.version}</version>
</dependency>
<dependency>
    <groupId>org.aeonbits.owner</groupId>
    <artifactId>owner</artifactId>
    <version>${owner.version}</version>
</dependency>
<dependency>
    <groupId>io.qameta.allure</groupId>
    <artifactId>allure-testng</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>${log4jcore.version}</version>
</dependency>
<!-- 新增Log4j2的SLF4J绑定包,版本与log4j-core保持一致 -->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>${log4jcore.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>${poi.version}</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4j.version}</version>
</dependency>
<!-- 移除slf4j-simple依赖 -->

三、通过TestNG配置文件直接控制日志级别

如果上述方法未生效,可在TestNG的XML配置文件中直接指定目标类的日志级别:

<suite name="Automation Suite">
    <!-- 设置Utils类日志级别为WARN -->
    <parameter name="org.testng.internal.Utils.level" value="WARN"/>
    <!-- 其他测试类、组或监听器配置 -->
</suite>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 22:09:51