日志配置

客户端日志用于记录云消息队列 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#的客户端日志暂不支持自定义配置。

Java

参数

说明

取值

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,不支持调整。

Go

参数

说明

取值

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()