Clash 日志与调试完全指南
调试是每个 Clash 用户都必须掌握的技能。本文详细介绍如何通过日志快速定位连接问题、分析代理状态、排查规则未生效等常见故障,让你在遇到问题时不再束手无策。
调整 Clash 日志级别
Clash 支持多个日志级别,从静默到详细信息逐级递增。根据需要调整日志详细程度:
# config.yaml
log-level: debug # silent / warning / info / debug
- silent:不输出任何日志(生产环境推荐)
- warning:仅输出警告和错误
- info:标准运行信息(日常使用推荐)
- debug:详细调试信息(排查问题时使用)
实时日志查看方法
通过 RESTful API 获取 Clash 运行日志:
# 获取最近50条日志(JSON格式)
curl -s http://127.0.0.1:9090/logs?count=50
# 通过 Clash 面板查看
# 访问 http://127.0.0.1:9090/ui (默认配置下)
# Dashboard 会显示实时连接日志和代理状态
连接失败排查步骤
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| 节点连接超时 | 节点已失效/端口被封 | 更换节点或订阅 |
| 规则未生效 | 规则匹配顺序错误 | 调整规则优先级 |
| DNS 污染 | Fake-IP/Redir-Host 配置不当 | 切换 DNS 模式 |
| TUN 模式失效 | 内核版本不兼容 | 更新 Clash Meta 内核 |
分析代理连接状态
# 查看当前代理状态
curl -s http://127.0.0.1:9090/proxies | python -m json.tool
# 查看指定代理的延迟
curl -s http://127.0.0.1:9090/proxies/PROXY_NAME/delay?url=TEST_URL&timeout=5000
# 健康检查所有节点
# Clash Meta 支持 auto-check-interval 自动健康检查
常见问题 FAQ
Q: 日志太多了怎么看?
A: 使用 grep 过滤关键词,如 curl http://127.0.0.1:9090/logs | grep ERROR 专注错误信息。面板用户可直接在 UI 中筛选日志级别。
Q: TUN 模式有流量但网速很慢?
A: 检查 stack 参数:system 栈兼容性最好但性能一般;gvisor 性能更好但部分平台可能不稳定;mixed 兼顾两者。
Q: 如何导出完整日志供他人分析?
A: 将 log-level: debug 写入配置,重启后运行一段时间,然后导出 ~/.config/clash/core.log 或面板中的完整日志文本。
总结
掌握日志分析和调试技巧,是从 Clash 新手进阶到老手的必经之路。建议日常使用中保持 info 日志级别,遇到问题时切换到 debug 级别获取详细信息。更多实用技巧,欢迎访问ClashHub探索!
发表回复