我正在使用HtmlUnit与通过Ajax与服务器交互的网页进行交互。在Ajax代码启动后不久,HtmlUnit会产生这两条日志消息:
WARNING: Ignoring XMLHttpRequest.setRequestHeader for Content-length: it is a restricted header Mar 3, 2011 3:32:47 PM com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest jsxFunction_setRequestHeader WARNING: Ignoring XMLHttpRequest.setRequestHeader for Connection: it is a restricted header Mar 3, 2011 3:32:47 PM com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest jsxGet_status
...随后是这个消息,重复了六次:
SEVERE: XMLHttpRequest.status was retrieved before the response was available. Mar 3, 2011 3:32:47 PM com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequest jsxGet_status
我无法弄清如何关闭这些消息。浏览代码显示它们是由直接调用记录器而产生的,而不是通过处理程序对象(就像我已经为CSS错误提供了一个什么都不做的实现)产生的。 HtmlUnit logging page 表示添加此代码应该可以解决:
System.getProperties().put("org.apache.commons.logging.simplelog.defaultlog", "fatal");
......但它没有任何效果。我还尝试在调用Java时添加以下选项:
-Dorg.apache.commons.logging.simplelog.defaultlog=fatal
......但是那也没有效果。
我猜在执行这段代码的同时,我可以将stderr重定向到/dev/null,但是是否有更少hacky的解决方案可用?