我正在使用 SaxonJ 从 Java 执行 XSLT 转换。
我的 XSLT 文件必须输出任何调试/信息作为输出,因为我的转换逻辑很复杂。
有没有一种方法可以重定向到 log4j,以便我可以将转换信息存储在日志文件中?
我的系统已经使用 log4j 将输出记录到文件中。我也想附加转换调试消息。
有什么想法吗?
最佳答案
我很确定您已经找到了执行此操作的方法。但我希望我的回答对其他人有用。
您需要做的就是实现 MessageListener 接口(interface):http://www.saxonica.com/documentation/javadoc/net/sf/saxon/s9api/MessageListener.html
public class MessageListenerImpl implements MessageListener {
private static Logger logger = Logger.getLogger(MessageListenerImpl.class);
public void message(XdmNode content, boolean terminate, SourceLocator locator) {
if (terminate) {
logger.error(content.getStringValue());
System.exit(1);
} else {
logger.warn(content.getStringValue());
}
}
}
关于java - 重定向 xsl :message to log4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7607177/