家里宽带突然掉线,路由器后台又没明显报错?别急着重启,试试用Python标准库的logging模块记一笔——它不光能帮你盯住脚本运行状态,连本地调试宽带拨号脚本、监控PPPoE重连过程都特别顺手。
日志不是写给机器看的,是写给自己回头查的
比如你写了个小脚本,定时检测宽带是否在线,一断就自动重拨。但某天凌晨3点它没反应,你总不能守着电脑等吧?加几行日志,就能把每次检测时间、ping结果、拨号返回码全记下来:
import logging
logging.basicConfig(
filename='broadband.log',
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s'
)
logging.info('开始检测网络连通性')
if not ping('114.114.114.114'):
logging.warning('公网ping失败,尝试重启PPPoE')
restart_pppoe()
logging.info('PPPoE已重启')第二天早上打开broadband.log,一眼看到“WARNING”那行,再对照时间戳,就知道是不是光猫瞬断、还是脚本本身卡在某个环节了。
不用装包,标准库直接开用
Python安装好就有logging,Windows、Mac、树莓派(很多人拿它当软路由)全都能跑。你甚至可以在路由器OpenWrt系统里装个Python3,把日志输出到USB存储盘,比翻路由器Web界面的日志页面更灵活。
日志级别分清轻重,别让关键信息被淹没
DEBUG适合开发时打点;INFO记常规流程;WARNING标异常但还能继续;ERROR得马上看;CRITICAL必须立刻处理。比如检测到WAN口物理断开,用logging.critical('WAN link down - check cable') ,再配合邮件提醒,比等用户打电话来报修快多了。
宽带设置这事,靠的是细活。一个靠谱的日志习惯,有时比换十次DNS还管用。