如何解决您如何在Mirth Connect中调试Javascript代码?
我正在尝试使用代码模板在Mirth Connect中创建函数库。使用#column
很痛苦。我尝试将代码复制到虚拟HTML页面并使用浏览器的调试工具。不幸的是,Mirth v / s中的JavaScript引擎与浏览器中的JavaScript引擎不同,Mirth Javascript使用了几种不赞成使用的语法。
如何在Mirth Connect中调试或逐步执行Javascript代码?
解决方法
“如有疑问,请注销”
在Mirth Connect中,有几种方法可以访问应用程序配置,其日志或主机:
- 拨打
function findObjectInArrayByProperty(array,propertyName,propertyValue) { return array.find((o) => { return o[propertyName] === propertyValue }); } var pStData = []; pStData.push({ st: 'WV',geom: 'xxx' }); pStData.push({ st: 'TX',geom: 'yyy' }); var resultObj = findObjectInArrayByProperty(pStData,"st","TX"); console.log(resultObj);
的电话。在您的情况下,由于您无权访问服务器,因此必须在logger
的服务器上设置记录器级别,因此必须以logger.error("your data")
的身份进行操作。这些将在MC仪表板中可见,该仪表板提供了日志的部分视图。最好的做法是在记录器语句前加上其来自的位置,例如log4j.properties
,否则其他团队成员可能会想知道控制台上的日志消息来自哪个渠道。 - 使用Mirth Connect映射记录有关变量值的详细信息。请注意这一点,因为在地图中放置大对象,尤其是
logger.info(channelName + " transformer step 1 " + "your other data")
和channelMap
会使消息的有效负载过大。当然,您也可以使用通道映射变量来存储信息数据,就像您敲了一段代码一样。例如:globalChannelMap
与$c('patient is in table',true)
相同
- 在极端情况下,您可以故意仅使用调试数据覆盖消息。这在需要注销大对象的情况下很有用。不过,这会增加调试的复杂性。
无论哪种情况,请记录您的记录值:
- 仅在设置了
channelMap.put('patient is in table',true)
标志时才记录-这样可确保当您不需要主动捕获数据时,您的日志记录和调试过程不会向其中的数据发送垃圾邮件 - 有有意义的消息-不要只是注销
debug
,而是注销"x = 12"
您可以在嵌入式模式下使用Rhino调试器...。它有一些细微差别,但是我认为这是您想要的。
这是一个引导您完成该过程的线程。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。