我正在使用htmlunit [http://htmlunit.sourceforge.net/]并且它会发出一堆警告/错误:
2017年3月24日下午6:37:30 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify 警告:遇到过时的内容类型:'text / javascript'。 2017年3月24日下午6:37:31 com.gargoylesoftware.htmlunit.html.InputElementFactory createElementNS 信息:错误的输入类型:“datetime”,创建文本输入 2017年3月24日下午6:37:31 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify 警告:遇到过时的内容类型:'application / x-javascript'。 2017年3月24日下午6:37:32 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify 警告:遇到过时的内容类型:'application / x-javascript'。 2017年3月24日下午6:37:34 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify 警告:遇到过时的内容类型:'text / javascript'。 2017年3月24日下午6:37:34 com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError 严重:runtimeError:message = [指定了无效或非法选择器(选择器:'*,:x'错误:无效选择器:: x)。] sourceName = [https://www.example.com/bundles/jquery?v=u8J3xxyrazUhSJl-OWRJ6I82HpC6Fs7PQ0-l8XzoZXY1] line = [1] lineSource = [null ] lineOffset = [0] 2017年3月24日下午6:37:35 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify 警告:遇到过时的内容类型:'text / javascript'。 2017年3月24日下午6:37:35 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify 警告:遇到过时的内容类型:'text / javascript'。 2017年3月24日下午6:37:35 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify 警告:遇到过时的内容类型:'text / javascript'。 2017年3月24日下午6:37:36 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify 警告:遇到过时的内容类型:'text / javascript'。 2017年3月24日下午6:37:43 com.gargoylesoftware.htmlunit.javascript.host.dom.Document createElement INFO:createElement:提供字符串'iframe name =“rufous-frame-29_-1”> https://platform.twitter.com/widgets.js] line = [9] lineSource = [null] lineOffset = [0]
我查看了其他资源并试图通过以下方式将其关闭:
Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(Level.OFF);
Logger.getLogger("org.apache.http").setLevel(Level.OFF);
和
final WebClient webClient = new WebClient(BrowserVersion.EDGE);
但不起作用。
还可以采取哪些措施来抑制这些警告/错误消息?
答案 0 :(得分:2)
如果您未将记录器设置为'logging.properties'文件中的OFF
,则在将级别设置为OFF之前需要pin the loggers with a hard reference。
以下是基于您的代码的更正示例:
private static final Logger[] PINNED_LOGGERS;
static {
System.setProperty("org.apache.commons.logging.simplelog.defaultlog", "fatal");
PINNED_LOGGERS = new Logger[]{
Logger.getLogger("com.gargoylesoftware.htmlunit"),
Logger.getLogger("org.apache.http")
};
for (Logger l : PINNED_LOGGERS) {
l.setLevel(Level.OFF);
}
}
答案 1 :(得分:0)
我在应用程序的开头添加了以下内容并且错误/警告已停止:
System.getProperties().put("org.apache.commons.logging.simplelog.defaultlog", "fatal");
Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(Level.OFF);
Logger.getLogger("org.apache.http").setLevel(Level.OFF);