[英]Redirect xsl:message to log4j
我正在使用SaxonJ從Java執行XSLT轉換。
由於我的轉換邏輯很復雜,因此我的XSLT文件必須輸出任何調試/信息作為輸出。
有沒有一種方法可以重定向到log4j,以便可以將轉換信息存儲在日志文件中?
我的系統已經使用log4j將輸出記錄到文件中。 我也想附加轉換調試消息。
有任何想法嗎?
我很確定您已經找到了執行此操作的方法。 但我希望我的回答對其他人有用。
您需要做的就是實現MessageListener界面: 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());
}
}
}
您可以配置自己的消息發射器。 有多種接口可以做到這一點,例如
或s9api XsltTransformer類中有一個更簡單的接口。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.