我正在使用jericho的SourceFormatter对HTML进行缩进。现在,如果我的HTML格式化程序出现问题,请将其发送到服务器控制台。
如何捕捉错误并将其输出到日志系统中(实际上我想将其作为String/Object)?
以下是我使用的代码示例
private String indent(String html) {
SourceFormatter formatter = new SourceFormatter(new Source(html));
formatter.setIndentString("t");
formatter.setTidyTags(false);
formatter.setCollapseWhiteSpace(true);
return formatter.toString(); // if HTML have issues, they go to server's consol
}
LoggerProvider-表示hericho 的loggin系统
我发现可以实现Logger接口并将其用作自己的记录器。
class LoggerCustom implements net.htmlparser.jericho.Logger {
...
}
然后将其对象传递给Source对象。
Source source = new Source(html);
LoggerCustom logger = new LoggerCustom();
source.setLogger(logger); // here I pass my Logger object.
SourceFormatter formatter = new SourceFormatter(source);
formatter.setIndentString("t");
formatter.setTidyTags(false);
formatter.setCollapseWhiteSpace(true);
String result = formatter.toString();