Clash日志级别怎么设置?排查节点故障的完整诊断流程

日志是诊断Clash连接异常的核心依据,本文详解debug/info/warning/silent四级日志区别,提供Windows、macOS及Linux平台的设置路径,并结合代理组类型与分流规则故障场景,给出标准化排查流程。

日志级别的作用与选择

Clash日志级别决定系统记录信息的详细程度,从verbose到silent共分为五级:

  • debug:记录完整HTTP请求头、DNS查询过程及规则匹配细节,适合排查分流异常
  • info:显示连接建立、节点切换等关键事件,日常使用推荐
  • warning:仅记录潜在问题,如证书验证失败或规则语法错误
  • error:仅显示导致连接中断的严重错误
  • silent:完全静默,适用于性能敏感场景

国际网络加速工具在跨境办公需求中,建议保持info级别以监控节点健康度;学术资源访问遇到页面打不开时,需切换至debug级别分析规则命中情况。

各平台设置步骤

Windows(Clash Verge Rev)

打开客户端 → 进入「设置」→「系统设置」→ 找到「日志等级」下拉菜单 → 选择debug → 返回主界面点击「日志」标签页实时查看。

macOS(ClashX Pro)

菜单栏图标 → 配置 → 日志级别 → 勾选需要的详细程度,修改后需点击「重载配置」生效。

配置文件手动修改

编辑config.yaml顶部:

log-level: debug
external-controller: 127.0.0.1:9090

保存后重启内核,通过REST API http://127.0.0.1:9090/logs 可流式读取日志。

结合代理组类型分析日志

不同代理组在日志中表现各异:

select(手动选择):日志显示[TCP] 192.168.1.2:xxxxx --> target.com:443 using ProxyGroup[节点A],确认手动切换已生效。

url-test(自动测速):debug日志包含Start health checking for ProxyGroup及延迟数据,若显示Dial error: timeout则表明该节点失效。

fallback(故障转移):关键日志为[fallback] switch to next proxy: 节点B,当主节点连续失败次数达到tolerance阈值时触发。

TUN模式与系统代理的日志差异

系统代理(HTTP/HTTPS):日志仅显示浏览器等明确设置代理的应用流量,格式为[TCP] 127.0.0.1:xxxxx --> domain:443

TUN模式(虚拟网卡):日志显示[TUN] 198.18.0.1:xxxxx --> target:port,接管所有流量包括UDP游戏数据包,若开启TUN后日志空白,检查auto-routeauto-redirect配置,或查看系统是否安装WinTUN驱动。

分流规则故障排查

通过debug日志验证规则优先级:

  • DOMAIN:日志显示[Rule] domain target.com match DomainRule(域名)
  • DOMAIN-SUFFIX:匹配example.com及其子域,日志标记DomainSuffix
  • IP-CIDR:直接访问IP时触发,日志显示[Rule] ip 1.2.3.4 match IPCIDR(1.2.3.0/24)
  • GEOIP:日志显示[Rule] geoip cn match GEOIP(CN),用于国内外分流

规则优先级自上而下,若发现应走代理的流量直连,检查日志中[DNS]解析结果是否被污染。

常见问题诊断

现象:日志频繁出现dial tcp: i/o timeout
原因:节点网络延迟过高或本地防火墙拦截出站连接
解决:切换url-test组内其他节点,或在Windows防火墙设置中允许clash.exe

现象:debug日志显示[Rule] match Match() using DIRECT但网页无法打开
原因:DNS解析返回了错误IP导致分流规则未命中代理组
解决:修改nameserverhttps://1.1.1.1/dns-query,启用enhanced-mode: redir-host

现象:TUN模式下游戏延迟正常但日志无UDP记录
原因:进程未正确识别或使用了系统代理绕过
解决:检查find-process-mode设置,确保游戏进程被TUN网卡捕获

节点订阅与日志优化建议

稳定的节点订阅服务应提供低延迟的url-test响应,若日志中频繁出现特定节点timeout,建议更换支持BGP中转的订阅源,优质服务商通常提供自动剔除失效节点的订阅转换,减少手动切换频率。

定期清理日志文件(路径:~/.config/clash/logs/)可防止磁盘占满,生产环境建议设置log-level: warning并配合external-ui面板监控,仅在故障排查时临时开启debug。

您可以还会对下面的文章感兴趣:

暂无相关文章