go fiber: 增加访问日志accesslog
一,代码
这里我们使用官方提供的github.com/gofiber/fiber/v2/middleware/logger这个现成的中间件
官方文档地址:
https://docs.gofiber.io/api/middleware/logger/
routes.go
package routes
import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/logger"
"industry/config"
"industry/controller"
"industry/middleware"
"log"
"os"
)
func SetupRoutes(app *fiber.App) {
// 自定义文件写入器
file, err := os.OpenFile("/data/logs/gologs/industry.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
log.Fatalf("error opening file: %v", err)
}
app.Use(logger.New(logger.Config{
Output: file,
Format: "[${ip}]:${port} ${status} - ${method} ${path} ${queryParams} ${referer} ${body} ${ua} ${latency}\n ${resBody}",
TimeFormat: "2006-01-02",
TimeZone: "Asia/Shanghai",
}))
//文章模块
articleController := controller.NewArticleController()
article := app.Group("/article")
article.Get("/info", articleController.GetArticle)
article.Post("/", articleController.CreateArticle)
//用户模块
userController := controller.NewUserController()
user := app.Group("/user",middleware.CheckUser)
user.Get("/info" , userController.GetUser)
user.Get("/add", userController.CreateUser)
//找不到路径时的处理
app.Use(func(c *fiber.Ctx) error {
return c.Status(fiber.StatusNotFound).JSON(config.Error("不存在的访问路径"))
})
}
相关文档:
二,测试效果:
查看日志文件
[192.168.219.1]:63697 200 - GET /user/info token=123 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36
149.597µs
获取用户信息userId:4
分类:
gofiber
标签:
Access
, access log
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
2023-11-16 python第十章:数据类型之字符串
2023-11-16 python:第九章:macos安装pycharm(2023.2.4)
2023-11-16 python:第八章:macos为python配置环境变量(3.12.0)
2023-11-16 macos:查看文件的完整路径(12.7)
2023-11-16 python:第七章:macos安装python(3.12.0)