[英]How to configure log level for Selenium?
I have a project with Selenium
and logging with Slf4j
. 我有一个使用
Selenium
的项目,并使用Slf4j
日志记录。 I need set the log level for selenium - INFO
. 我需要设置硒的日志级别
INFO
。 I try use WebDriver.setLogLevel(Level.INFO)
but log anyway stay DEBUG
. 我尝试使用
WebDriver.setLogLevel(Level.INFO)
但无论如何WebDriver.setLogLevel(Level.INFO)
记录日志DEBUG
。
WebDriver chrome = new ChromeDriver(chromeOptions());
chrome.setLogLevel(Level.INFO);
My logback.xml
我的
logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<Pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg %n
</Pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>TRACE</level>
</filter>
</appender>
<appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<FileNamePattern>log/log.%d{yyyy-MM-dd}.log</FileNamePattern>
<!--keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<Pattern>%d{HH:mm:ss} %-5level %logger{35} - %msg %n</Pattern>
</encoder>
<maxFileSize>5MB</maxFileSize>
</appender>
<logger name="org.codingpedia" additivity="false" encoding="UTF8">
<level value="INFO" />
<appender-ref ref="consoleAppender" />
</logger>
<root>
<level value="DEBUG" encoding="UTF8" />
<appender-ref ref="consoleAppender" />
<appender-ref ref="fileAppender"/>
</root>
</configuration>
My idea is all Trowable
write into a log file, all info about Selenium requests only into the console. 我的想法是将所有
Trowable
写入日志文件,将有关Selenium请求的所有信息仅写入控制台。 But Selenium persistent using DEBUG
level. 但是Selenium坚持使用
DEBUG
级别。
How to set log level INFO
for Selenium. 如何为Selenium设置日志级别
INFO
。 Thank You. 谢谢。
UPDATE 1 更新1
I fined (thanks to @Ratmir Asanov) solution, but it requires knowing key for log's DesiredCapabilities
. 我优化了(由于@Ratmir Asanov)解决方案,但是它需要知道log的
DesiredCapabilities
密钥。
ChromeOptions options = new ChromeOptions();
options.setCapability("What key?", getCap());
DesiredCapabilities getCap() {
DesiredCapabilities caps = DesiredCapabilities.chrome();
LoggingPreferences logPrefs = new LoggingPreferences();
logPrefs.enable(LogType.PERFORMANCE, Level.INFO);
logPrefs.enable(LogType.PROFILER, Level.INFO);
logPrefs.enable(LogType.BROWSER, Level.INFO);
logPrefs.enable(LogType.CLIENT, Level.INFO);
logPrefs.enable(LogType.DRIVER, Level.INFO);
logPrefs.enable(LogType.SERVER, Level.INFO);
caps.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);
return caps;
}
Use the following code when you are creating an instance of WebDriver: 创建WebDriver实例时,使用以下代码:
driver = new ChromeDriver(getCap());
Hope it helps you! 希望对您有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.