客户端日志用于记录消息队列RocketMQ版客户端运行过程中的异常,帮助您快速定位和修复问题。本文为您介绍如何查看和配置消息队列RocketMQ版SDK的客户端日志。

日志文件默认路径

各语言的客户端日志文件的默认路径如下:
说明 {$HOME}为您启动当前应用程序的根目录。
语言 默认路径
Java {$HOME}/logs/rocketmq/rocketmq-client.log
C++ {$HOME}/logs/rocketmq/client.log
C# {$HOME}/logs/rocketmq/rocketmq-client.log
Go {$HOME}/logs/rocketmq/rocketmq_client_go.log

日志参数

客户端启动后,会按照系统默认配置生成日志文件;您也可以自定义配置项,修改日志参数。

说明 C++和C#的客户端日志暂不支持自定义配置。

参数 说明 取值
rocketmq.log.level 日志输出级别。
  • ERROR
  • WARN
  • INFO
  • DEBUG

默认值:INFO。
rocketmq.log.root 日志输出根目录。 默认值为:{$HOME}/logs/rocketmq。
{$HOME}为启动当前Java进程的根目录,支持自定义为您的本地目录。

注意:
请确保您的应用进程有该路径的写权限,否则日志无法打印。
rocketmq.log.file.maxIndex 日志文件最大保留个数。 取值范围:1~100,默认值:10。
若设置的值超出该范围或格式错误,则以系统默认值为准。

单个日志文件最大限制为64 MB,不支持调整。
参数 说明 取值
rocketmq.client.logLevel 日志输出级别。
  • ERROR
  • WARN
  • INFO
  • DEBUG

默认值:INFO。
rocketmq.client.logRoot 日志输出根目录。 默认值为:{$HOME}/logs/rocketmq。
{$HOME}为启动当前go进程的根目录,支持自定义为您的本地目录。

注意:
请确保您的应用进程有该路径的写权限,否则日志无法打印。
rocketmq.client.logFileName 日志文件名。 默认值为:rocketmq_client_go.log。
rocketmq.log.file.maxIndex 日志文件最大保留个数。 取值范围:1~100,默认值:10。
rocketmq.client.logFileMaxSize 单个日志文件大小的最大限制。 默认值:1 G。

配置示例

Java SDK和Go SDK支持通过修改系统参数来修改日志配置项,具体日志参数,请参见日志参数

Java SDK日志配置示例

在启动脚本或者IDE的VM options中,通过-D命令设置客户端日志配置项。

以将日志输出级别设置为INFO为例,示例如下:
java -Drocketmq.log.level=INFO -jar foobar.jar

Go SDK日志配置示例

  • 静态设置:在环境变量中配置日志参数后,直接启动Go客户端即可。
  • 动态设置:在代码中设置日志参数,并调用ResetLogger()
    以将日志输出级别设置为WARN为例,示例如下:
    os.Setenv("rocketmq.client.logLevel", "WARN")
    rmq_client.ResetLogger()