javascript - 您如何在 Mirth Connect 中调试 Javascript 代码?

标签 javascript mirth

我正在尝试使用代码模板在 Mirth Connect 中创建一个函数库。使用 logger.debug很痛苦。我尝试将代码复制到一个虚拟 HTML 页面并使用浏览器的调试工具。不幸的是,Mirth 和浏览器中的 javascript 引擎是不同的,Mirth Javascript 使用了几种不推荐使用的语法。
如何在 Mirth Connect 中调试或单步调试 Javascript 代码?

最佳答案

所有版本的 Mirth Connect
“如有疑问,请注销”
在 Mirth Connect 中有几种方法可以在不访问应用程序配置、其日志或主机的情况下执行此操作:

  • 调用logger .在您的情况下,由于您无权访问服务器,因此您必须将其设置为 logger.error("your data")因为记录器级别是在服务器上设置的 log4j.properties .这些将在提供日志的部分 View 的 MC 仪表板中可见。一个好的做法是在您的记录器语句前面加上它来自的位置,例如 logger.info(channelName + " transformer step 1 " + "your other data")否则其他团队成员可能会想知道控制台上的日志消息来自哪个 channel 。
  • 使用 Mirth Connect map 记录有关变量值的详细信息。在 map 中放置大型对象时要小心,尤其是 channelMapglobalChannelMap会使您的消息负载过大。当然,您也可以使用 channel 映射变量来存储信息数据,就像您点击一段代码一样。例如:$c('patient is in table', true)这也与 channelMap.put('patient is in table', true) 相同
  • 在极端情况下,您可以故意仅使用调试数据覆盖您的消息。这在您需要注销大型对象的情况下很有用。但是,它会为您的调试增加很多复杂性。

  • 对于任何一种情况,请记录您的值:
  • 仅在 debug 时记录标志已设置 - 这可确保您的日志记录和调试不会在您不需要主动捕获数据时将数据发送出去
  • 有有意义的消息 - 不要只是注销 "x = 12" , 退出 "MsgId: " + msg.getMessageId() + " in method foobar() had x = 12"

  • Mirth Connect 4.0 中的新功能
    MC 4.0 引入了一种从 Mirth connect 启动 Rhino 调试器的方法。见 the release notes for MC 4.0学习如何使用它。

    关于javascript - 您如何在 Mirth Connect 中调试 Javascript 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63799700/

    相关文章:

    javascript - Jquery ajax 表单数组提交

    javascript - 无状态组件上的 onClick 事件控制该组件上的 Prop

    javascript - 关于 ReactJS 中的 LifeCycles/代码片段中的问题

    javascript - 非常简单的 Mirth 功能(版本 3.1.1.7461)

    mirth - Template :${message. encodedData} 是什么意思?

    javascript - 从数组发送有序数据

    javascript - 使用 jQuery 获取元素的所有属性

    mysql - Mirth Connect - 升级到版本 3 后删除 old_messages 表是否安全?

    http - 使用 mirth 连接时如何更改 FHIR 监听器中的 HTTP URL?

    java - 在 Mirth 自定义 Web 服务中获取目的地响应