我一直在搜索Internet和ESQL / WebSphere MessageBroker文档,以找到打印变量值的方法,以便我可以在Broker Logs中跟踪它。与java中的System.out.println()一样。
由于某些技术问题,我无法调试消息流,因此您可以建议我如何操作或任何变通方法。
答案 0 :(得分:1)
用户跟踪应该满足您的需要,将跟踪节点放在您要记录的位置,选择文件跟踪并提供文件路径, 模式给出:
${CURRENT_TIMESTAMP}
${Root}
${Environment}
${LocalEnvironment}
${ExceptionList}
所以它会记录所有内容。
如果它位于较高的环境中,则必须使用mqsichangetrace
命令启用流程跟踪。
答案 1 :(得分:0)
可能最简单的方法是:
1)在Environment中将临时位置设置为变量的值:SET Environment.temp = yourVar;
2)随后,在Trace节点中,将Trace节点的Basic选项卡上的Pattern设置为该临时位置:$ {Environment.temp}
3)配置Trace节点以打印到文件,用户跟踪或本地错误日志。
4)部署并运行流程。然后查看Trace节点的输出。
答案 2 :(得分:0)
UserTrace应该为ESQL实现这个角色,但如果UserTrace没有帮助,那么我看到很多人使用从ESQL到java的静态调用,然后记录。
java代码可以像写入stdout一样简单(它将放在/ var / mqsi / components // stdout中),但更常见的是我看到这种模式与现有的java日志框架如log4J一起使用。
这种方法的优点是可以统一JCN和ESQL计算节点之间的日志记录。