如何變更記錄

 常見問題 > 使用 Apache ActiveMQ Classic > 如何變更記錄

如何變更記錄

我們使用 slf4j 在訊息代理客戶端和訊息代理本身記錄資訊,因此您可以完全設定要使用的記錄等級,以及是否要記錄到檔案或控制台等。如需更多資訊,請參閱 log4j 手冊

您可以透過編輯 conf/log4j.properties 檔案,停用 activemq 的所有 INFO 等級記錄,方法是新增此行來停用 ActiveMQ Classic 記錄

log4j.logger.org.apache.activemq=WARN

或完全停用 stdout 記錄,請變更此行

log4j.rootLogger=INFO, stdout, out

log4j.rootLogger=INFO, out

如何在執行期間變更記錄?

ActiveMQ Classic 中的預設記錄等級為 INFO。這可以透過在終端機中啟動預設的 ActiveMQ Classic 二進制檔來查看。如此一來,您將會看到如下所示的輸出

$ ./bin/activemq
ACTIVEMQ_HOME: /Users/bsnyder/amq/apache-activemq-5.1.0
ACTIVEMQ_BASE: /Users/bsnyder/amq/apache-activemq-5.1.0
Loading message broker from: xbean:activemq.xml
INFO  BrokerService                  - Using Persistence Adapter: AMQPersistenceAdapter(/Users/bsnyder/amq/apache-activemq-5.1.0/data)
INFO  BrokerService                  - ActiveMQ 5.1.0 JMS Message Broker (localhost) is starting
INFO  BrokerService                  - For help or more information please see: https://activemq.dev.org.tw/
INFO  AMQPersistenceAdapter          - AMQStore starting using directory: /Users/bsnyder/amq/apache-activemq-5.1.0/data
INFO  KahaStore                      - Kaha Store using data directory /Users/bsnyder/amq/apache-activemq-5.1.0/data/kr-store/state
INFO  AMQPersistenceAdapter          - Active data files: []
INFO  KahaStore                      - Kaha Store using data directory /Users/bsnyder/amq/apache-activemq-5.1.0/data/kr-store/data
INFO  TransportServerThreadSupport   - Listening for connections at: tcp://mongoose.local:61616
INFO  TransportConnector             - Connector openwire Started
INFO  TransportServerThreadSupport   - Listening for connections at: ssl://mongoose.local:61617
INFO  TransportConnector             - Connector ssl Started
INFO  TransportServerThreadSupport   - Listening for connections at: stomp://mongoose.local:61613
INFO  TransportConnector             - Connector stomp Started
INFO  TransportServerThreadSupport   - Listening for connections at: xmpp://mongoose.local:61222
INFO  TransportConnector             - Connector xmpp Started
INFO  NetworkConnector               - Network Connector default-nc Started
INFO  BrokerService                  - ActiveMQ JMS Message Broker (localhost, ID:mongoose.local-56138-1224025139259-0:0) started
INFO  log                            - Logging to org.slf4j.impl.JCLLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog
INFO  log                            - jetty-6.1.9
INFO  WebConsoleStarter              - ActiveMQ WebConsole initialized.
INFO  /admin                         - Initializing Spring FrameworkServlet 'dispatcher'
INFO  log                            - ActiveMQ Console at http://0.0.0.0:8161/admin
INFO  log                            - ActiveMQ Web Demos at http://0.0.0.0:8161/demo
INFO  log                            - RESTful file access application at http://0.0.0.0:8161/fileserver
INFO  log                            - Started SelectChannelConnector@0.0.0.0:8161
INFO  FailoverTransport              - Successfully connected to tcp://localhost:61616

但是,停止 ActiveMQ Classic 來變更記錄等級並非總是可行。在許多情況下,可能需要在執行期間變更記錄等級和其他組態詳細資訊。使用像是 jconsole 的 JMX 工具,可以變更並重新載入記錄組態檔案,而無需關閉 ActiveMQ Classic。

若要在 ActiveMQ Classic 執行時將 ActiveMQ Classic 記錄等級從 INFO 變更為 DEBUG,請啟動 jconsole,指向 ActiveMQ Classic 執行個體,然後導覽至如下所示的 Broker 物件的「操作」索引標籤

若要在 ActiveMQ Classic 中啟用除錯等級記錄,請編輯屬於 ActiveMQ Classic 二進制發行套件一部分的 conf/log4j.properties 檔案,以停用 INFO 等級記錄並啟用 DEBUG 等級記錄,從這裡

log4j.rootLogger=INFO, stdout, out
log4j.logger.org.apache.activemq.spring=WARN
log4j.logger.org.springframework=WARN
log4j.logger.org.apache.xbean.spring=WARN

# When debugging or reporting problems to the ActiveMQ team,
# comment out the above lines and uncomment the next.

#log4j.rootLogger=DEBUG, out, stdout

到這裡

#log4j.rootLogger=INFO, stdout, out
log4j.logger.org.apache.activemq.spring=WARN
log4j.logger.org.springframework=WARN
log4j.logger.org.apache.xbean.spring=WARN

# When debugging or reporting problems to the ActiveMQ team,
# comment out the above lines and uncomment the next.

log4j.rootLogger=DEBUG, out, stdout

請注意,log4j.rootLogger=INFO, stdout, out 行已註解掉,而 log4j.rootLogger=DEBUG, out, stdout 行已取消註解。儲存此變更,然後在 jconsole 中,按一下名為 reloadLog4jProperties 的按鈕,如下所示

按一下 reloadLog4jProperties 按鈕後,會彈出一個對話方塊,指出「方法已成功叫用」。這只是讓您知道已叫用 reloadLog4jProperties 方法來重新載入 conf/log4j.properties 檔案。現在請注意,在執行 ActiveMQ Classic 的終端機中,輸出的記錄現在為 DEBUG

INFO  WebConsoleStarter              - ActiveMQ WebConsole initialized.
INFO  /admin                         - Initializing Spring FrameworkServlet 'dispatcher'
INFO  log                            - ActiveMQ Console at http://0.0.0.0:8161/admin
INFO  log                            - ActiveMQ Web Demos at http://0.0.0.0:8161/demo
INFO  log                            - RESTful file access application at http://0.0.0.0:8161/fileserver
INFO  log                            - Started SelectChannelConnector@0.0.0.0:8161
INFO  FailoverTransport              - Successfully connected to tcp://localhost:61616
DEBUG InactivityMonitor              - 10000 ms elapsed since last write check.
DEBUG InactivityMonitor              - 10000 ms elapsed since last write check.
DEBUG AbstractRegion                 - Removing consumer: ID:mongoose.local-56517-1224026019987-0:0:-1:1
DEBUG AbstractRegion                 - Removing consumer: ID:mongoose.local-56511-1224026011897-0:0:1:1
DEBUG TransportConnection            - Stopping connection: /127.0.0.1:56518
DEBUG TcpTransport                   - Stopping transport tcp:///127.0.0.1:56518
DEBUG TransportConnection            - Stopped connection: /127.0.0.1:56518
DEBUG TransportConnection            - Connection Stopped: /127.0.0.1:56518
DEBUG AbstractRegion                 - Removing consumer: ID:mongoose.local-56511-1224026011897-0:0:-1:1
DEBUG TransportConnection            - Stopping connection: /127.0.0.1:56512
DEBUG TcpTransport                   - Stopping transport tcp:///127.0.0.1:56512
DEBUG TransportConnection            - Stopped connection: /127.0.0.1:56512
DEBUG TransportConnection            - Connection Stopped: /127.0.0.1:56512
DEBUG InactivityMonitor              - 9999 ms elapsed since last write check.
DEBUG InactivityMonitor              - 10000 ms elapsed since last write check.
DEBUG InactivityMonitor              - 29999 ms elapsed since last read check.

停用 DEBUG 等級記錄並啟用 INFO 等級記錄,方法是編輯 log4j.properties 檔案並再次按一下 reloadLog4jProperties 按鈕。

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛標誌和 Apache ActiveMQ 專案標誌是 The Apache Software Foundation 的商標。版權 © 2024,The Apache Software Foundation。以 Apache 授權條款 2.0 授權。