有没有办法从.NET客户端访问ActiveMQ Artemis系统日志(由Broker插件启用)



根据此页面,我已经使用代理插件在我们的 Artemis 实例上启用了消息传递日志。为了通过映射发布者 -> artemis 服务器>订阅者之间的端到端消息传递和接收时间来绘制一些分析,我正在尝试查看记录到 artemis 日志文件(特定消息 ID(的消息内容是否可以由我们拥有的发布和订阅 .NET 应用程序访问。下面是 artemis.log 文件中的日志,其中包含指示各种事件的 MessageId 的消息。

20:

50:24,552 信息 [org.apache.activemq.artemis.core.server.plugin.impl] AMQ841010: ID 为 2231685496、结果:OK 的路由邮件

20:50:24,552 信息 [org.apache.activemq.artemis.core.server.plugin.impl] AMQ841009: sent ID:2231685496,会话名称: 9d9c035b-176e-11ea-ab75-020ff9805db8, 会话连接 ID: 68a7ec34, 结果:正常

20:50:24,553 信息 [org.apache.activemq.artemis.core.server.plugin.impl] AMQ841012: 传递消息 ID 为 2231685496,在地址上传递给消费者: 新闻来源T,队列:f0586137-5ad3-4c77-b2c7-5b68daad672c,消费者 会话 ID: fcbcd194-3295-11ea-a2c0-0a89c5c4c02a, 消费者 ID: 0

20:50:24,554 信息 [org.apache.activemq.artemis.core.server.plugin.impl] AMQ841014: 确认的消息 ID:2231685496,消息引用会话 ID: fcbcd194-3295-11ea-a2c0-0a89c5c4c02a, 消息参考消费者ID: 0, 消息引用队列名称: f0586137-5ad3-4c77-b2c7-5b68daad672c, 与 原因:正常

我们正在为此使用 AMQPNetLite,并且没有找到任何可以帮助我们将发送和接收的这些消息与正在写入 artemis.log 文件的日志联系起来的东西。我一直在寻找是否有办法从发布者应用程序的这些日志中获取 MessageId。非常感谢有关此主题的任何指示。

消息传递客户端无法从代理的日志文件中获取数据,因为该数据仅在基于文本的日志中,而不是实际上在消息代理本身中。但是,您可以使用类似于NotificationActiveMQServerPlugin的东西,它实际上会将包含此信息的消息发送到管理通知地址,而不是记录此信息。客户端可以在管理通知地址上创建订阅并接收消息,然后根据该信息执行操作。通知消息可能不包含您需要的所有信息,但您可以轻松扩展此类以创建自己的插件,其中包含您需要的所有信息。

相关内容

  • 没有找到相关文章

最新更新