排查结束后,应把日志级别从为找问题而升高的档位改回日常配置,并处理可能残留的配置副本,避免下一进程仍按 debug 或其它临时值输出。官方用全局配置 log-level 控制等级,日志仅在控制台和控制页面输出。文档示例写法是 log-level : info。恢复的核心是改配置并确认输出已按新级别变化;“清理副本”则是避免旧文件、旧片段里仍写着排查用的等级。
适用条件:什么时候算排查结束
当下列任一情况成立,就应恢复级别:已经用当前级别看清原因;已经确认即使 debug 也没有更多可解释信息;或不再需要“尽可能输出运行中所有的信息”。若仍在复现、且 info 的一般运行内容仍不够,应继续留在所需级别,而不是提前改回。若当前已是 silent,恢复意味着改到你真正要用于日常观察的等级,而不是继续不输出。
判断“日常该用哪一档”时,仍只用官方定义:silent 不输出;error 仅输出错误至无法使用的日志;warning 输出不影响运行的错误并包含 error;info 输出一般运行内容并包含 error 与 warning;debug 尽可能输出所有运行信息。未在排查状态时,info 与文档示例一致,适合作为默认恢复目标。只有你明确日常也要静默或只要致命错误时,才恢复到 silent 或 error,并接受相应的可见性后果。
恢复日志级别的步骤与核验
打开当前内核实际加载的那份全局配置,把 log-level 从 debug(或你排查时使用的 warning/error)改为 info,或你已确定的日常取值。写法与文档一致,例如 log-level : info。保存后使配置对正在运行的内核生效。
核验不看主观感觉,看控制台和控制页面:若从 debug 回到 info,输出应从“尽可能所有运行信息”收敛为一般运行内容加上 error、warning;若从 warning 回到 info,应开始出现一般运行内容;若误恢复成 silent,两处应不再有输出,这表示恢复目标选错了,应再改为 info。只要输出类别与官方对该取值的描述一致,即可认为级别已恢复。
不要留下“注释掉的 debug、真正生效的仍是 debug”这种双份写法;以进程真正读到的 log-level 为准。官方只列出这一项等级配置,没有第二套并行的日志开关,因此恢复时改这一处即可,无需寻找未记载的清理按钮。
清理副本与失败时下一步
清理副本的对象是配置副本,不是文档未说明的日志文件。因为官方写明日志仅在控制台和控制页面输出,恢复级别后,这两处不会按旧的 debug 定义继续“尽可能输出所有信息”;真正会让 debug 复活的,是另一份仍写着 log-level : debug 的配置在下次被加载。检查是否存在用于试验的备份、同步目录中的旧配置、或未生效却容易被误用的片段,将其中的 log-level 同样改为 info 或与主配置一致,避免以后启动加载到错误文件。
从控制台或控制页面复制出来的排查文本,属于你在观察过程中另存的内容;debug 可能包含尽可能完整的运行信息,排查结束后不应把整段输出继续放在可被他人读取的位置。这与内核配置项本身无关,但和“副本”同样会造成线索残留。
若改回 info 后输出仍像 debug 一样过全:下一步确认加载的是否为你刚保存的文件、取值拼写是否仍为 debug、是否有多份配置被交替使用。若改回后完全没有日志,检查是否写成了 silent。若控制台或控制页面仍显示旧内容,先区分那是历史滚动还是新产生的行,只以修改生效之后的新输出作为判断。完成以上检查后,保持 log-level 与文档示例或你的明确日常策略一致,即可结束本次日志相关维护。