【问题标题】:How to print a message in broker log如何在代理日志中打印消息
【发布时间】:2016-10-27 06:29:34
【问题描述】:

我一直在 Internet 和 ESQL/WebSphere MessageBroker 文档上进行搜索,以找到一种打印变量值的方法,以便我可以在代理日志中对其进行跟踪。类似于 java 中的 System.out.println()。

由于一些技术问题,我无法调试消息流,所以请您建议我如何执行此操作或任何解决方法。

【问题讨论】:

    标签: ibm-mq messagebroker


    【解决方案1】:

    UserTrace 应该为 ESQL 履行这个角色,但如果 UserTrace 没有帮助,那么我看到很多人使用从 ESQL 到 java 的静态调用,然后记录这些调用。

    Java 代码可以像写入标准输出一样简单(将进入 /var/mqsi/components//stdout),但更常见的是,我看到这种模式与现有的 java 日志框架(如 log4J)一起使用。

    这种方法的优点是您可以统一 JCN 和 ESQL 计算节点之间的日志记录。

    【讨论】:

      【解决方案2】:

      用户跟踪应该足以满足您的需要,在您要记录的点放置一个跟踪节点,选择文件跟踪并给出文件路径, 模式给出:

      ${CURRENT_TIMESTAMP}
      ${Root}
      ${Environment}
      ${LocalEnvironment}
      ${ExceptionList}
      

      所以它会记录所有内容。

      如果在更高的环境中,那么你必须使用mqsichangetrace命令来启用流跟踪。

      【讨论】:

        【解决方案3】:

        可能最简单的方法是:

        1) 将 Environment 中的临时位置设置为变量的值:SET Environment.temp = yourVar;

        2) 随后,在 Trace 节点中,将 Trace 节点的 Basic 选项卡上的 Pattern 设置为该临时位置:${Environment.temp}

        3) 配置 Trace 节点以打印到文件、用户跟踪或本地错误日志。

        4) 部署并运行您的流程。然后查看 Trace 节点的输出。

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-09-08
        • 2012-09-20
        • 1970-01-01
        • 2014-10-23
        • 1970-01-01
        • 2020-05-03
        • 1970-01-01
        相关资源
        最近更新 更多