java - 重定向 xsl :message to log4j

标签 java log4j xslt

我正在使用 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/

相关文章:

javascript - 格式化 RSS 提要日期和时间

xml - 如何使用 xslt 中的 xml 数据源将 unicode 转换为 iso?

java - 如何创建隔离的 JVM?

java - 我们可以完全避免使用 Scala 并简单地使用 Play!框架

java - 向 eclipse 插件添加 java 要求

java - 使用 JBOSS_HOME 时 log4j 不记录

java - JDBC 和 MySQL 的编码问题

java - 使用 log4j 的多个日志文件

java - 使用 log4j 的 Web 应用程序中的日志文件位于何处?

svn - 使用 xslt 按 jira 编号对 subversion xml 日志条目进行分组