Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Turning HtmlUnit Warnings off

Do you know how can I turn Warnings, Notes, Errors in HtmlUnit off?

like image 940
oneat Avatar asked Aug 30 '10 13:08

oneat


2 Answers

Put this somewhere around the start of your code; it will shut its dirty mouth:

LogFactory.getFactory().setAttribute("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");  java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(Level.OFF);  java.util.logging.Logger.getLogger("org.apache.commons.httpclient").setLevel(Level.OFF);  webClient = new WebClient(bv); webClient.setCssEnabled(false);  webClient.setIncorrectnessListener(new IncorrectnessListener() {      @Override     public void notify(String arg0, Object arg1) {         // TODO Auto-generated method stub      } }); webClient.setCssErrorHandler(new ErrorHandler() {      @Override     public void warning(CSSParseException exception) throws CSSException {         // TODO Auto-generated method stub      }      @Override     public void fatalError(CSSParseException exception) throws CSSException {         // TODO Auto-generated method stub      }      @Override     public void error(CSSParseException exception) throws CSSException {         // TODO Auto-generated method stub      } }); webClient.setJavaScriptErrorListener(new JavaScriptErrorListener() {      @Override     public void timeoutError(HtmlPage arg0, long arg1, long arg2) {         // TODO Auto-generated method stub      }      @Override     public void scriptException(HtmlPage arg0, ScriptException arg1) {         // TODO Auto-generated method stub      }      @Override     public void malformedScriptURL(HtmlPage arg0, String arg1, MalformedURLException arg2) {         // TODO Auto-generated method stub      }      @Override     public void loadScriptError(HtmlPage arg0, URL arg1, Exception arg2) {         // TODO Auto-generated method stub      } }); webClient.setHTMLParserListener(new HTMLParserListener() {      @Override     public void warning(String arg0, URL arg1, int arg2, int arg3, String arg4) {         // TODO Auto-generated method stub      }      @Override     public void error(String arg0, URL arg1, int arg2, int arg3, String arg4) {         // TODO Auto-generated method stub      } });  webClient.setThrowExceptionOnFailingStatusCode(false); webClient.setThrowExceptionOnScriptError(false); 
like image 69
Arsen Zahray Avatar answered Sep 22 '22 09:09

Arsen Zahray


The code in Arsen Zahray's answer helped in removing almost all the logs generated by HtmlUnit.

But one edit helps to remove them all. Use:

java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(Level.OFF);  

instead of:

java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(Level.OFF); 
like image 20
sha Avatar answered Sep 23 '22 09:09

sha