首页/教程/Clash vpn日志级别设成debug会记录哪些详细信息?
CLASH GUIDE

Clash vpn日志级别设成debug会记录哪些详细信息?

约 9 分钟阅读

Clash VPN的debug日志级别会记录每条流量的逐条规则匹配过程,包括每个规则的匹配结果(match/not match)和最终生效的规则动作;DNS解析的完整过程,包括域名解析结果、Fake-IP虚拟地址分配以及解析失败的具体错误;入站HTTP请求的请求方法和URL路径,出站响应的状态码和头部信息;节点连接尝试的拨号、连接建立和超时状态,代理链路的完整路径以及节点切换事件的详细记录;配置文件加载和订阅更新的解析过程和错误原因;每次请求的处理耗时分解(DNS、规则匹配、代理连接)、内存使用快照和定时任务执行记录。debug日志不记录POST body内容和代理节点密码。排查完成后应及时切换回info或silent级别以降低磁盘占用。debug日志在高流量环境下每小时可能产生数百MB数据,建议仅在问题定位时短期开启并配置日志轮转。

规则匹配的完整追踪记录

每条流量的逐条规则匹配过程

将Clash VPN的日志级别设置为debug后,日志中会详细记录每条流量依次经过的规则匹配过程。每一条入站请求都会在日志中留下轨迹,显示该请求从第一条规则开始到最终命中某条规则的完整路径。日志中会输出类似[Rules] DOMAIN-SUFFIX,google.com,PROXY: match[Rules] GEOIP,CN,DIRECT: not match的信息,逐条记录每个规则的匹配结果,帮助用户精确定位是哪条规则提前拦截了预期匹配,或确认精确规则是否因位置靠后而未被检查到。这在排查规则顺序问题时尤为关键。

规则匹配的命中结果与动作执行

当流量命中某条规则后,debug日志会记录该规则的具体动作(PROXY/DIRECT/REJECT)以及该动作对应的策略组或目标节点。日志中会输出类似[Rules] final rule: DOMAIN-SUFFIX,google.com,PROXY (matched)的信息,明确显示最终生效的规则及其执行动作。若流量最终落到MATCH兜底规则上,日志同样会清晰记录这一过程,帮助用户判断是否有规则未被正确匹配。

DNS解析与Fake-IP映射的记录

在debug日志级别下,Clash DNS的解析过程会被完整记录,包括每个域名是否使用了Fake-IP模式以及分配的虚拟IP地址。日志中会显示类似[DNS] google.com -> 198.18.0.1 (fake-ip)的信息,记录域名解析的结果和方式。若DNS解析失败,日志会输出[DNS] failed to resolve domain: context deadline exceeded等错误信息,帮助定位DNS配置中的具体问题。这些DNS相关的调试信息对排查域名解析异常和Fake-IP兼容性问题具有直接价值。

HTTP请求与响应的原始数据

入站请求的完整报文体

debug日志会输出Clash接收到的每个入站HTTP请求的原始数据包内容,包括请求方法、URL路径、HTTP版本和完整的请求头信息。日志中会显示类似[HTTP] Request: GET / HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0的信息,完整再现了客户端发出的原始请求。这对于排查特定应用是否正常发送请求、请求头是否完整、以及是否携带了正确的代理认证信息等问题具有直接帮助。

出站响应的状态码与头部信息

debug日志同样会记录Clash向客户端返回的HTTP响应信息,包括响应状态码和响应头字段。日志中会显示类似[HTTP] Response: 200 OK Content-Type: text/html的信息,让用户了解代理请求的执行结果。若响应状态码为错误码(如404、502、504),日志会帮助快速定位是代理节点问题、目标服务器问题还是规则配置问题。结合入站请求和出站响应的完整记录,用户可还原一次完整的代理请求-响应生命周期。

连接建立与TLS握手细节

debug日志会记录Clash与代理节点建立连接的过程,包括TCP连接建立、TLS握手的详细步骤和证书验证状态。日志中会显示类似[Proxy] dialing proxy node "香港节点" at 1.2.3.4:443的连接建立记录,以及[TLS] handshake completed with server: sni=example.com的TLS握手完成信息。若TLS握手失败(如证书不匹配、过期或握手超时),日志会记录具体的错误原因,帮助排查节点连接失败的问题。这些信息在诊断节点连通性问题时非常有用。

节点连接与代理通道的详细状态

节点连接尝试的完整过程

debug日志会记录Clash尝试连接每个代理节点的完整过程,包括拨号(dialing)、连接建立(connected)、连接超时(timeout)和连接拒绝(refused)等状态信息。日志中会显示类似[Proxy] attempting to connect to HK node via TCP[Proxy] connection established in 35ms的信息,帮助用户了解每个节点的实际响应表现。当节点连接失败时,日志会输出具体的错误类型(如connection refusedi/o timeout),为节点选择提供依据。

代理链路的完整路径追踪

在多层策略组嵌套或链式代理的场景中,debug日志会记录流量经过的完整代理链路(chains)。日志中会显示类似[Proxy] chains: Proxy -> 香港节点 -> 美国中转的信息,清晰展示流量从一个节点到另一个节点的完整跳转路径。该信息对于排查多级代理配置是否按预期工作至关重要,也帮助用户在节点切换时理解实际的出口路径。

节点切换事件的详细记录

当Clash因手动切换或url-test自动切换而改变策略组的选中节点时,debug日志会记录该事件的触发原因和切换前后的节点名称。日志中会显示类似[Proxy] switching group "自动选择" from "香港节点" to "日本节点" (reason: latency test)的信息,帮助用户了解节点切换的触发条件和具体时间。该记录在排查频繁切换节点导致的连接不稳定问题时尤为有用。

配置文件加载与解析的详细信息

config.yaml的完整解析过程

debug日志会记录Clash启动或重新加载配置时对config.yaml文件的完整解析过程。日志中会输出每个配置字段的加载状态,包括proxies节点的加载数量、proxy-groups策略组的加载状态以及rules规则的解析结果。若配置文件存在格式错误,debug日志会明确指出错误发生的行号和具体原因(如yaml: line 32: unmarshal errors),帮助用户快速定位和修正配置文件中的问题。

订阅更新的完整请求流程

debug日志会详细记录订阅更新操作的完整流程,包括向订阅服务器发起的HTTP请求、服务器响应的状态码和响应体内容。日志中会显示类似[Subscriber] fetching subscription from https://example.com/subscribe[Subscriber] response status: 200 OK的信息,帮助确认订阅更新是否成功。若订阅更新失败,日志会输出具体的错误原因(如SSL certificate verify failedconnection timeout),大大简化了订阅问题的排查。

Rule Provider规则集的下载与加载状态

对于使用rule-providers外部规则集的配置,debug日志会记录每个规则集的下载、缓存和加载过程。日志会显示规则集是否成功下载、本地缓存是否命中、以及规则加载到内核的数量。若规则集下载失败(如网络超时或URL不可达),日志会输出对应的错误信息。这些信息帮助确认外部规则集是否正常工作。

性能指标与系统状态信息

每次请求的处理耗时统计

debug日志会记录Clash处理每个请求的完整耗时,包括DNS解析耗时、规则匹配耗时、节点连接耗时和总响应时间。日志中会显示类似[Request] total time: 245ms (dns: 12ms, rule: 1ms, proxy: 232ms)的详细时间分解信息。这些性能指标帮助用户量化代理链路的瓶颈所在——是DNS解析慢、规则匹配慢还是节点连接慢,为性能调优提供数据支持。

内存与连接池的状态快照

debug日志会定期输出Clash内核的内存使用情况、活跃连接数和连接池的状态信息。日志中会显示类似[Stats] memory: 45MB, connections: 23, active dialers: 5的状态快照,帮助用户了解Clash的资源使用情况。当Clash出现性能问题或内存占用异常时,这些状态信息可辅助判断是否存在资源泄露或连接堆积。

事件循环与定时任务执行记录

debug日志会记录Clash内部的定时任务执行情况,包括规则集的定期更新、url-test的延迟测试执行、以及连接超时的清理操作。日志中会显示类似[Timer] url-test executing for group "自动选择"[Timer] connection cleanup: removed 5 stale connections的信息。该记录帮助确认自动化和维护功能是否按预期工作。

常见问题FAQ

debug日志级别下会记录敏感信息吗?

debug日志会记录完整的HTTP请求头信息,包括URL路径和User-Agent等,但不记录POST请求的body内容,也不记录代理节点的密码或认证凭证。若需在生产环境中开启debug级别,建议注意日志存储和访问权限控制,避免包含敏感路径信息。排查完成后及时切换回info或silent级别。

debug日志文件会占用多少磁盘空间?

debug日志的产出量远高于info或silent级别,在高流量环境下每小时可能产生数百MB的日志数据。建议仅在排查问题时短期开启debug级别,问题定位后立即切换回info或silent。若需长期保留,可配置日志轮转和压缩机制,控制磁盘占用。

debug日志能帮助定位节点连接超时问题吗?

能。debug日志会记录节点拨号连接的详细过程,包括连接建立的精确耗时、超时发生的具体阶段以及错误原因的完整描述。当节点连接超时时,日志会区分是TCP连接超时还是TLS握手超时,并提供目标IP和端口信息,帮助用户区分是节点不可达还是网络环境问题。

debug日志中能看到订阅更新的详细请求信息吗?

能。debug日志会完整记录订阅更新的HTTP请求流程,包括请求URL、请求头、响应状态码以及响应体的大小。若订阅更新失败,日志会输出具体的错误原因,帮助区分是SSL证书问题、网络连接问题还是订阅链接本身失效。

使用提醒

请从可信来源获取软件与配置,并遵守所在地法律法规和相关服务条款。