1

我遇到了正确禁用所有 HtmlUnit 日志记录的问题。我什至不确定这些信息是从哪里来的。

项目代码都存在于github上。

我看到控制台输出如下:

HtmlTextInput[<input type="text" class="text_" name="j_username" id="username">] -> HtmlHtml[<html lang="en" class="no-js ie8">]

我已经阅读了 HtmlUnit 文档的日志记录部分,并且我已经简化为以下内容,它确实删除了除上面列出的 HtmlTextInput 日志之外的所有内容。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
    <appender name="NULL" class="org.apache.log4j.varia.NullAppender" />
    <appender name="stdout" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{ABSOLUTE} %5p %c{1}:%L - %m%n" />
        </layout>
    </appender>
    <logger name="com.gargoylesoftware">
        <level value="OFF" />
        <appender-ref ref="NULL" />
    </logger>
    <root>
        <priority value="warn" />
        <appender-ref ref="NULL" />
    </root>
</log4j:configuration>

我的 commons-logging.properties 文件如下所示:

# JDK Logging
#org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
# Log4j logging (also required log4j.jar to be in classpath)
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

我的 Pom 文件包含:

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.15</version>
    <scope>test</scope>
</dependency>

此外,我尝试了以下地方列出的建议:

http://htmlunit.sourceforge.net/logging.html

http://alexcuesta.wordpress.com/2011/05/11/turning-off-htmlunit-driver-logging-messages/

关闭 HtmlUnit 警告

任何帮助表示赞赏。

4

1 回答 1

3

我揭开了答案。事实证明,这是 selenium 2.33 以及它如何与 HtmlUnitDriver 一起工作的问题,因为有人留在了HtmlUnitDriver.java的硬编码 System.err 中。

适当的修复是升级到较新版本的 Selenium。

于 2013-08-15T15:42:46.767 回答