首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Mirth中调试Javascript代码?

如何在Mirth中调试Javascript代码?
EN

Stack Overflow用户
提问于 2020-09-08 18:30:32
回答 3查看 3K关注 0票数 5

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

如何在Mirth中调试或逐步完成Javascript代码?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-09-09 00:10:27

您可以在嵌入式mode....its中使用Rhino调试器,但我认为这是您所需要的。

这里有一条线索可以引导您完成这个过程。

https://forums.mirthproject.io/forum/mirth-connect/support/7210-real-debugging-for-mirth-javascript-channel-code

票数 1
EN

Stack Overflow用户

发布于 2020-09-16 22:49:18

所有版本的Mirth

“有疑问时,把它登出来”

在Mirth中,有几种方法可以在不访问应用程序配置、其日志或主机的情况下做到这一点:

  1. 打电话到logger。在您的例子中,由于您没有访问服务器的权限,所以您必须这样做,因为记录器级别是在logger.error("your data")中在服务器上设置的。它们将在MC仪表板中可见,它提供了日志的部分视图。一个好的做法是将您的记录器语句与来自它的位置(例如,logger.info(channelName + " transformer step 1 " + "your other data") )放在前面,否则其他团队成员可能会想知道控制台上日志消息的来源是什么渠道。
  2. 使用Mirth映射记录有关变量值的详细信息。在地图中放置大型对象时要小心,特别是channelMapglobalChannelMap会使您的消息有效负载过大。当然,您也可以使用通道映射变量来存储信息数据,就像您命中一段代码一样。例如:$c('patient is in table', true),它也与channelMap.put('patient is in table', true)相同
  3. 在极端情况下,您可以只使用调试数据来故意覆盖您的消息。在需要注销大型对象的情况下,这是非常有用的。不过,它为调试增加了许多复杂性。

无论是哪种情况,都要记录您的值:

  • 只有在设置debug标志时才会记录--这可以确保日志记录和调试不会在不需要捕获数据的情况下垃圾处理数据。
  • 有意义的消息-不要只注销"x = 12",注销"MsgId: " + msg.getMessageId() + " in method foobar() had x = 12"

在Mirth 4.0中的应用

MC 4.0介绍了一种从Mirth connect启动Rhino Debugger的方法。请参阅MC 4.0的发行说明以了解如何使用它。

票数 3
EN

Stack Overflow用户

发布于 2022-06-29 08:51:31

在Mirth4.0的新版本中,您可以通过管理控制台https://github.com/nextgenhealthcare/connect/wiki/4.0.0---What%27s-New调试javascript

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63799700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档