首页 / 科技 / 正文

路由器日志翻车记:它到底在背着我记什么?

路由器又断网,我蹲在后台看它“写小作文”

昨晚南京降温,我窝在沙发上改稿。网页转圈圈,视频卡成PPT。重启路由器,没用。拔电源,等了十秒,还是没用。火大,登进路由器后台,本来想改个Wi-Fi密码泄愤。结果在“系统工具”里,看到一个叫系统日志的东西。密密麻麻,全是时间戳、英文缩写、括号和冒号。像谁喝多了在便签上涂鸦。

我盯着看了五分钟,愣是没看懂。但有一行反复出现:DHCP … lease … expired。后来才知道,大概意思是,有个设备租IP租约到期了,续租没续上。你说它记这干嘛?它又不写日记。问题是,它还真写。只不过不是写给人看的。

家用路由器后台系统日志页面截图

这就是日志最反直觉的地方。很多人以为日志是程序员的事,其实你手机、电视、扫地机器人、智能门锁,只要联网,都在悄悄写。出问题的时候,它比客服还记得清楚。只不过,它记得太碎,太乱,太像天书。

日志不是日记,它更像事故现场的碎纸条

我刚开始也把日志当“日记”理解。后来发现不对。日记是写给自己的,有情绪,有秘密。日志是程序写给机器的,有格式,有等级,有滚动策略。它不负责好看,只负责留痕。

常见的级别有这么几档:DEBUG、INFO、WARN、ERROR、FATAL。别被英文吓住。你把它想成一个人在办公室里叨叨:DEBUG是“我刚才摸了摸水杯”,INFO是“我打开了一个文件”,WARN是“咖啡洒桌上了”,ERROR是“文件没保存成功”,FATAL是“电脑冒烟了”。

DEBUG最碎,INFO最日常,WARN开始不对劲,ERROR已经出事,FATAL基本可以准备重启了。开发时恨不得全开,上线后赶紧关掉。为啥?因为日志会膨胀。一个请求写两行,一天几百万请求,硬盘再大也扛不住。所以很多系统只留最近几天,或者到一定大小就切割、压缩、删除。像便利店小票,过一阵就卷走了。

服务器终端应用日志滚动输出界面截图
服务器终端应用日志滚动输出界面截图

这里有个误区:日志不是越多越好。有人一出问题就喊“把日志级别调到DEBUG”。行,调了,硬盘爆了,系统更卡。还有更尴尬的,日志里全是“error”,但真正的原因藏在上一行“warn”里。就像你以为是锅烧糊了,其实燃气早就没开。

手机卡成狗,日志躲在哪?

说个近的。你手机突然发热、掉电快、App闪退。很多人第一反应是删App。删了,好像好了。过两天,另一个App又犯病。这时候日志就有用。安卓有开发者选项,里面能看“日志缓冲区”或者连电脑用adb抓日志。iPhone也有控制台,连上Mac能看一堆进程吐出来的消息。

不过我得先泼盆冷水:大部分人看不懂,也没必要看懂。日志是给排查问题的人提供线索的。普通用户会看两个东西就够了——时间点和关键词。比如你下午三点连不上网,那就在日志里搜15:00前后,找ERROR、FAIL、TIMEOUT、DENIED这些词。能看出个大概,已经不错。

还有,别手痒删系统日志。尤其是公司电脑、服务器、路由器。日志被清了,等于案发现场被扫地机器人拖了一遍。想找人帮忙,先把日志导出来,别截图截一半。截图只截一行,工程师看了想打人——当然,只是想想。

手机开发者选项日志缓冲区查看界面截图
手机开发者选项日志缓冲区查看界面截图

说到这,得提隐私。日志经常记IP地址、设备型号、操作时间、请求参数、错误堆栈。单个看没啥。拼起来,就能知道谁在几点用了什么功能、从哪来、点了哪几个按钮。网站访问日志更典型,User-Agent、Referer、Cookie ID都在里面。很多公司会做脱敏、加密、定期删除。但也有马虎的,把手机号、邮箱顺手写进日志。这个坑,挺大。

会看两眼日志,能省很多扯皮

会看两眼日志,能省很多扯皮
会看两眼日志,能省很多扯皮

我不是让你去学运维。真没必要。但家里路由器老掉线、NAS连不上、智能音箱抽风,你能登后台瞄一眼日志,至少知道是宽带问题、设备问题,还是你自己把密码改了忘了。客服问“重启了吗”,你可以说“重启了,日志里PPPoE拨号失败,错误码xxxx”。对方态度立马不一样。

Windows也有事件查看器。Mac有控制台。浏览器按F12,控制台里也有一堆日志。别怕,看不懂正常。看多几次,就像看体检报告里的箭头,不一定懂医,但知道哪个指标离谱。

日志这东西,平时烦人,出事了真香。它不像黑匣子那么高级,更像一个嘴碎的值班保安。你平时嫌他话多,真丢了东西,还得靠他回忆:几点几分,谁进来的,哪个门没关。至于他说得对不对——那得看你会不会听。