🔗 Squid.conf 中的 Debug Sections 和 debug_options 是什么
🔗 摘要
有时人们需要看到 Squid 中发生的不仅仅是致命或关键问题。
Squid 包含自己的调试系统,该系统分为多个部分和级别。
- Section 指的是 Squid 中执行特定操作的组件。
- Level 指的是关于任何给定部分的所需信息量。
它们在 squid.conf 中通过 debug_options 设置进行配置,作为 Section, Level 对的列表。每个对都从左到右设置。如果一个部分被提及两次,则使用最后提及的级别。
通常只使用 ALL,0,以显示需要紧急修复的任何主要问题。这些是导致 Squid 致命的问题,如果你的 Squid 崩溃,问题会在 cache.log 中以级别 0 的形式提及。
管理员还可以设置 debug_options ALL,1 来获取有关未导致 Squid 严重问题但可能对某些客户端请求致命的问题的报告。这些消息通常也表明管理员应该着手修复的网络问题。
如果需要逐行跟踪代码中的问题,可以使用更高的调试级别。它们最高可达 9,尽管 6 包含了开发人员调试所需的大部分信息。
🔗 各级别含义
级别 0
- 仅限严重问题。完全没有调试信息。
- 始终显示
- 这些是导致 Squid 致命的问题,如果你的 Squid 崩溃,问题会在 cache.log 中以级别 0 的形式提及。
当前启动、关闭和重新配置会在此级别产生输出。
级别 1
- 重要问题。
- 默认情况下,Squid 会在此级别进行日志记录,除非另有配置
- 这些消息通常表明管理员应该着手修复的网络问题。
级别 2
- 协议流量。通常仅由高级协议部分(例如,第 9-12 部分)使用。
级别 3-4
- 遗留调试
- 开发者曾经认为对于故障排除很重要而突出显示的特定部分的信息。
级别 5
- 在此级别显示最有用的调试信息。
**级别 6
- 更多调试信息,如果级别 5 未显示足够关于特定问题的信息。
级别 7-8
- 一些不常用的特定部分调试信息。(例如锁计数)。
级别 9
- 原始 I/O 数据。可能包含隐私或安全敏感信息。保证会生成非常大的 cache.log。
🔗 各部分编号含义
我们非常努力地在不同版本之间保持调试部分的统一。当前的调试部分目录位于 https://github.com/squid-cache/squid/blob/master/doc/debug-sections.txt
类别: 知识库
导航: 站点搜索、站点页面、类别、🔼 向上