jrebel-license-active-server 日志调试指南:logLevel 从入门到精通
【免费下载链接】jrebel-license-active-serverJRebel and XRebel active server(Jrebel 激活服务器)项目地址: https://gitcode.com/gh_mirrors/jr/jrebel-license-active-server
jrebel-license-active-server 日志调试,是排查 JRebel / XRebel 激活服务器问题时最直接的手段;而 logLevel 参数,正是控制日志详略的核心开关。无论你是第一次部署 Jrebel 激活服务器的新手,还是想快速定位激活失败原因的老手,这篇文章都会用最通俗的方式,带你从入门到精通 logLevel 的全部用法。
logLevel 是什么?先搞懂四个日志级别
简单来说,logLevel 就是 Jrebel 激活服务器的"日志开关",取值范围是 1~4,数字越小日志越详细。四个级别的定义写在 logger.go 中:
| logLevel | 级别 | 说明 | 适用场景 |
|---|---|---|---|
| 1 | Debug | 最详细,额外打印请求体 | 排查激活失败 |
| 2 | Info | 默认级别,记录常规访问 | 日常观察 |
| 3 | Warn | 仅警告与错误 | 减少日志量 |
| 4 | Error | 仅错误 | 生产环境 |
程序默认使用 Info(2)。把数字调小,能看到更多信息;调大,则日志更安静。记住一句口诀:调小看细节、调大做降噪。
最快配置方法:--logLevel 参数
⚡ 命令行直接启动
获取源码并编译后(git clone https://gitcode.com/gh_mirrors/jr/jrebel-license-active-server),启动时加上参数即可:
./license-active-server --port=12345 --logLevel=1这里的--logLevel=1就是开启 Debug 模式。参数解析逻辑位于 main.go 中,支持从 1 到 4 的任意取值,启动时还会同步调用日志模块的 SetLevel 完成切换。
⚡ Docker / docker-compose 部署
使用官方镜像部署时,在 docker-compose.yml 里通过 command 传入参数:
services: jrebel-license-active-server: image: yuxiaoyao520/jrebel-license-active-server:latest container_name: jrebel-license-active-server command: ./jrebel-license-active-server --logLevel=1 ports: - "12345:12345"启动后想看实时日志,直接执行docker logs -f jrebel-license-active-server即可。
不同级别的日志长什么样
以 Info 级别启动,你会看到类似这样的输出(日志默认输出到标准输出 stdout):
2026/08/19 08:59:03 [INFO ] Start server with port = 12345, schema = http 2026/08/19 08:59:03 [INFO ] --> POST /jrebel/leases. [127.0.0.1:51234] [JRebel/2022.4.1]切到 Debug 级别后,除了上面的信息,还会额外打印请求体,方便核对客户端传参是否完整:
2026/08/19 08:59:03 [DEBUG] --> Request Body: {"username":"demo","guid":"524f1d03-..."}如果级别设为 Error,则只有出错时才会有输出,比如端口被占用导致启动失败:
2026/08/19 08:59:03 [ERROR] Start server failed. cause: listen tcp :12345: bind: address already in use🔍 实战技巧:用 Debug 日志定位激活失败
当 IDEA 里 JRebel 激活提示失败时,推荐的排查顺序:
- 把 logLevel 调到 1,重启服务;
- 在 IDEA 中重新触发激活;
- 观察 Debug 输出,重点看
--> Request Body是否包含正确的 username、guid; - 若请求压根没到服务器,说明是客户端地址或端口配置问题;若请求到了但返回异常,再对照 jrebelhandler.go 中的接口处理逻辑逐步排查。
常见问题 FAQ
Q:--logLevel=0 或 5 为什么不生效?A:logLevel 有效范围是 1~4,越界值会被忽略并保持默认 Info,这是 logger.go 中 SetLevel 的校验逻辑决定的。
Q:日志太多刷屏怎么办?A:把 logLevel 调到 3 或 4,只保留警告和错误即可。
Q:日志输出到哪里?A:默认输出到标准输出(stdout)。裸机运行直接看终端,Docker 部署用docker logs查看。
💡 小结
logLevel 虽小,却是 Jrebel 激活服务器日志调试的关键入口:1 最详细、4 最安静、默认 2。记住"调小看细节、调大做降噪"的口诀,再配合 Debug 级别下的请求体输出,绝大多数激活问题都能快速定位。
【免费下载链接】jrebel-license-active-serverJRebel and XRebel active server(Jrebel 激活服务器)项目地址: https://gitcode.com/gh_mirrors/jr/jrebel-license-active-server
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考