1

我正在使用 jericho 的 SourceFormatter 对 HTML 进行缩进。现在,如果我的 HTML 格式化程序出现问题,请将其发送到服务器控制台。

如何捕获错误并将其输出到我的日志系统中(实际上我想将它作为字符串/对象获取)?

这是我使用的代码示例

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 的登录系统

4

1 回答 1

0

我发现可以实现 Logger 接口并将其用作自己的 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();
于 2016-03-29T09:45:50.290 回答