客户端日志用于记录云消息队列 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 | 日志输出级别。 |
默认值:INFO。 |
rocketmq.log.root | 日志输出根目录。 | 默认值为:{$HOME}/logs/rocketmq。 {$HOME}为启动当前Java进程的根目录,支持自定义为您的本地目录。 说明 请确保您的应用进程有该路径的写权限,否则日志无法打印。 |
rocketmq.log.file.maxIndex | 日志文件最大保留个数。 | 取值范围:1~100,默认值:10。 若设置的值超出该范围或格式错误,则以系统默认值为准。 单个日志文件最大限制为64 MB,不支持调整。 |
Go
参数 | 说明 | 取值 |
rocketmq.client.logLevel | 日志输出级别。 |
默认值: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()