每个 ActiveMQ 端口 (TransportConnector) 的单独日志

Separate logs for each ActiveMQ port (TransportConnector)

提问人:GOOGGOOG 提问时间:11/15/2023 最后编辑:Justin BertramGOOGGOOG 更新时间:11/16/2023 访问量:35

问:

假设我至少有 2 个传输连接器。我希望端口和端口的日志可以写入它们自己的日志,这样我就可以有一个名为 和 的日志。我希望所有已建立/失败的错误/特定于此的警告都进入日志。如何做到这一点?616166161761616-nio.log61617-stomp.logtransportConnector

我在 CentOS 上使用 ActiveMQ “Classic” 5.15.2。我被锁定在这个版本中。

<broker>
  ...
  <transportConnectors>
    <transportConnector name="nio" uri="nio://0.0.0.0:61616"/>  
    <transportConnector name="stomp" uri="stomp://0.0.0.0:61617"/>  
  </<transportConnectors>
  ...
</broker>

在查看了文档和帖子后,我没有看到我正在寻找的答案。它可能盯着我的脸,但我没有看到它。

activemq

评论

0赞 GOOGGOOG 11/15/2023
我希望特定于该 transportconnector 的所有连接/失败错误/警告都进入日志。
0赞 Justin Bertram 11/15/2023
文档中简要提到了这一点,但看起来它只会记录请求和响应。我不确定它是否会记录您感兴趣的所有内容,但值得一试。TransportLogger

答:

0赞 Matt Pavlovich 11/15/2023 #1

transportConnector 具有用于连接 LogWriter 的设置。默认行为 (iirc) 是每个连接都有一个单独的日志。您应该解析该日志,以便将其映射回 transportConnector。

编号: https://github.com/apache/activemq/blob/main/activemq-broker/src/main/java/org/apache/activemq/transport/TransportLogger.java

或者,您可以实现自己的 LogWriter,将其添加为服务,并通过 logWriterName 属性将其连接到 transportConnector 配置中。

编号: https://activemq.apache.org/tcp-transport-reference 编号: https://github.com/apache/activemq/blob/main/activemq-broker/src/main/java/org/apache/activemq/transport/logwriters/DefaultLogWriter.java

评论

0赞 GOOGGOOG 11/15/2023
看起来很有希望。我会看看如何实现。谢谢。