升级webdrivermanager至2.2.1后如何抑制其日志泛滥?
如何抑制WebDriverManager 2.2.1的日志输出?
我太懂这种被第三方库日志刷屏的烦躁了——升级到2.2.1后WebDriverManager的默认日志确实会抢占你的项目日志视线,下面几种方法可以帮你快速搞定:
直接通过WebDriverManager API关闭日志
这是最直接的方式,只需在调用WebDriverManager的setup方法前,把它的日志级别设为OFF:import java.util.logging.Level; import io.github.bonigarcia.wdm.WebDriverManager; // 在初始化驱动前设置 WebDriverManager.logger().setLevel(Level.OFF); WebDriverManager.chromedriver().setup(); // 以Chrome驱动为例这样就能完全屏蔽WebDriverManager的所有日志输出。如果不想完全关闭,只想保留重要错误信息,可以把
Level.OFF换成Level.SEVERE(只看严重错误)或者Level.WARNING(看警告及以上)。通过项目日志框架全局配置
如果你项目里用了Logback、Log4j这类日志框架,可以直接在配置文件中给WebDriverManager的包设置日志级别,这样整个项目都会生效:- 如果你用Logback(xml配置):
<configuration> <!-- 其他配置 --> <logger name="io.github.bonigarcia.wdm" level="OFF" /> </configuration> - 如果你用Log4j(properties配置):
log4j.logger.io.github.bonigarcia.wdm=OFF
- 如果你用Logback(xml配置):
在测试类静态代码块中提前配置
如果你是在测试场景中使用WebDriverManager,可以把日志配置放在静态代码块里,确保在驱动初始化前就生效:import java.util.logging.Level; import io.github.bonigarcia.wdm.WebDriverManager; import org.openqa.selenium.chrome.ChromeDriver; public class YourTest { static { // 提前关闭WebDriverManager日志 WebDriverManager.logger().setLevel(Level.OFF); WebDriverManager.chromedriver().setup(); } @org.junit.Test public void testMethod() { ChromeDriver driver = new ChromeDriver(); // 你的测试逻辑 driver.quit(); } }
需要注意的是,WebDriverManager 2.x版本使用的是Java自带的java.util.logging组件,所以上面的方法完全适配2.2.1版本。选择哪种方式取决于你的项目场景——全局配置适合整个项目统一管理,API设置则适合局部调整。
内容的提问来源于stack exchange,提问作者Deepak Suyal
相关产品推荐
相关产品推荐

