fiber服务默认静默启动,需设disablestartupmessage:false才输出监听信息,再配合enableprintroutes:true或app.printroutes()打印路由;生产环境必须禁用二者以防信息泄露。

本地调试Fiber服务时,启动后控制台一片空白,既看不到监听地址,也看不到注册了哪些路由,导致无法确认服务是否真正启动、路径是否写错。
让Fiber打印启动日志
默认情况下,Fiber静默启动,不输出任何信息。必须显式关闭DisableStartupMessage开关。
在调用fiber.New()时传入配置:fiber.Config{DisableStartupMessage: false}。
这一步不做,整个启动过程就像黑盒运行——没有监听提示、没有端口反馈,你只能靠curl localhost:3000盲试,一旦端口被占或绑定失败,连错误都看不到。
【DisableStartupMessage: false必须设为false,设成true或不传该字段都会静默】
让Fiber打印所有已注册路由
Fiber提供EnablePrintRoutes选项,但仅当DisableStartupMessage为false时才生效。
方法一:启用路由打印(推荐调试期使用)
构造App时同时设置两个字段:fiber.Config{DisableStartupMessage: false, EnablePrintRoutes: true}。
启动后会在控制台输出类似以下内容:
⇨ GET /
⇨ GET /users
⇨ POST /users
⇨ GET /users/:id
方法二:手动触发打印(适用于已启动实例)
调用app.PrintRoutes(),它会立即向os.Stdout输出当前全部路由表,无需重启服务。
注意:此方法只输出静态注册的路由,不包含运行时动态挂载的子路由(如app.Group("/api", ...)内未展开的嵌套)。
生产环境禁用这两项
第一步:确认当前是开发环境还是生产环境。
第二步:若os.Getenv("ENV") == "production",则配置中必须设为:DisableStartupMessage: true, EnablePrintRoutes: false。
第三步:删除所有app.PrintRoutes()调用,避免暴露接口结构。
启动日志和路由列表在生产环境属于敏感信息——前者泄露监听端口和进程PID,后者直接暴露全部API路径,攻击者可据此发起定向探测。Fiber默认不打日志正是出于安全考虑,切勿在上线包里保留调试配置。











