ActiveMQ Artemis 如何在线修改日志级别
ActiveMQ Artemis 在线修改日志配置方案
ActiveMQ Artemis 原生支持不重启broker实例动态调整日志级别,可通过以下两种常用方案实现:
方法1:通过JMX接口调整(兼容所有版本)
该方法适用于所有官方发布的ActiveMQ Artemis版本,操作前提是broker已启用JMX管理(默认配置为开启,可在broker.xml中通过<jmx-management-enabled>true</jmx-management-enabled>确认)。
操作步骤:
- 使用任意JMX客户端(如JConsole、JVisualVM)连接到broker对应的JVM进程
- 在MBean列表中找到
org.apache.activemq.artemis域下,对应broker名称节点中的LoggingMBean - 调用该MBean的
setLogLevel操作,传入两个参数:- 第一个参数为目标logger名称(调整根日志填
ROOT,调整Artemis核心模块填org.apache.activemq.artemis,也可指定到具体子模块路径) - 第二个参数为目标日志级别,支持
TRACE、DEBUG、INFO、WARN、ERROR等值
- 第一个参数为目标logger名称(调整根日志填
- 调用完成后日志级别即时生效
方法2:通过官方CLI工具调整(2.11.0及以上版本支持)
该方法无需额外安装JMX客户端,直接使用broker自带的命令行工具即可操作,更适合服务器端直接操作的场景:
操作步骤:
- 进入你部署的broker实例的
bin目录 - 执行日志级别调整命令,参考示例:
./artemis log set --user 管理账号 --password 管理密码 --logger org.apache.activemq.artemis.core.remoting --level TRACE - 如需查看当前所有logger的级别配置,可执行命令:
./artemis log list --user 管理账号 --password 管理密码
注意事项
以上两种方式调整的日志级别均为临时生效,broker进程重启后会自动恢复为
logging.properties配置文件中定义的默认级别。如果需要永久调整日志级别,仍需修改配置文件后重启broker。
操作账号需要拥有broker的管理权限,否则会被权限控制拦截无法执行调整操作。
内容的提问来源于stack exchange,提问作者Stephan
相关产品推荐
相关产品推荐

