Logging 记录MQ消息

Logging 记录MQ消息,logging,ibm-mq,Logging,Ibm Mq,我想将进入MQ队列的消息记录到数据库/文件或另一个日志队列中,但我无法修改现有代码。是否有任何方法可以实现某种类似HTTP嗅探器的消息日志实用程序?或者MQ有一些内置的功能来记录消息 提前感谢您的回答。我认为通过创建指向主题的别名队列,这是可能的 假设RECV.Q是应用程序当前从中接收消息并进行处理的队列 1) 首先创建一个主题,比如说LOG.TO.DATABASE 2) 然后创建别名队列alias.LOG.TO.DATABASE,将基本对象设置为LOG.TO.DATABASE,并将基本类型设置

我想将进入MQ队列的消息记录到数据库/文件或另一个日志队列中,但我无法修改现有代码。是否有任何方法可以实现某种类似HTTP嗅探器的消息日志实用程序?或者MQ有一些内置的功能来记录消息


提前感谢您的回答。

我认为通过创建指向主题的别名队列,这是可能的

假设
RECV.Q
是应用程序当前从中接收消息并进行处理的队列

1) 首先创建一个主题,比如说
LOG.TO.DATABASE

2) 然后创建别名队列
alias.LOG.TO.DATABASE
,将
基本对象设置为
LOG.TO.DATABASE
,并将
基本类型设置为
主题

3) 然后创建一个本地队列
LOG.TO.DATABASE.Q

4) 创建一个持久订阅,
SUB.FOR.RECV.Q
,指向作为目标的
RECV.Q

5) 为.LOG.TO.DABASE创建另一个持久订阅
SUB.FOR.LOG.TO.DABASE
,该订阅指向作为目标的
LOG.TO.DATABASE.Q

现在,发送方应用程序需要将消息放入
ALIAS.LOG.to.DATABASE
。由于别名队列实际上指向主题,因此消息会发布到
LOG.to.DATABASE
。对于此主题,我们注册了两个订阅,因此两个订阅都将收到相同的消息。您的消费者应用程序将继续按原样工作,而您可以编写一个新的应用程序来处理来自其他订阅的消息。

或者您可以使用名为消息多路复用器(MMX)的(免费)开源项目


如果您需要记录/审核队列,那么您可能需要查看MQ Auditor(它是一种商业产品):

以下是@Shashi注释的命令:

DEFINE QLOCAL ('RECV.Q')
DEFINE TOPIC('LOG.TO.DB') TOPICSTR('DBLOG')
DEFINE QALIAS('ALIAS.LOG.TO.DB') TARGET('LOG.TO.DB') TARGTYPE(TOPIC)
DEFINE QLOCAL('LOG.TO.DB.Q')
DEFINE SUB('SUB.FOR.RECV.Q') DEST('RECV.Q') TOPICOBJ('LOG.TO.DB')
DEFINE SUB('SUB.FOR.LOG.TO.DABASE') DEST('LOG.TO.DB.Q') TOPICOBJ('LOG.TO.DB')

误导性的回答。该产品既不是开源的,也不是免费的。它的价格是999美元。