首页 > 其他分享 >go fiber: 增加访问日志accesslog

go fiber: 增加访问日志accesslog

时间:2024-11-16 12:30:03浏览次数:1  
标签:accesslog fiber app user go logger os middleware

一,代码

这里我们使用官方提供的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

 

标签:accesslog,fiber,app,user,go,logger,os,middleware
From: https://www.cnblogs.com/architectforest/p/18544830

相关文章

  • go fiber: 多个全局中间件的执行顺序
    一,代码:middleware.gopackagemiddlewareimport( "fmt" "github.com/gofiber/fiber/v2")funcMiddle1(c*fiber.Ctx)error{ fmt.Println("middle1before") err:=c.Next() fmt.Println("middle1after") returnerr}......
  • go fiber:路由中间件
    一,目录结构:二,代码1,中间件代码packagemiddlewareimport( "fmt" "github.com/gofiber/fiber/v2" "industry/config")//token校验funcCheckUser(c*fiber.Ctx)error{ token:=c.Query("token") fmt.Println("token:"......
  • django naive datetime问题
    naivedatetime问题,其实就是datetime数据没有携带时间就传递给了模型类现象:D:\anaconda3\envs\schedule_devops\lib\site-packages\django\db\models\fields_init_.py:1367:RuntimeWarning:DateTimeFieldNodeStopRecord.stop_timereceivedanaivedatetime(2024-11-1602:......
  • Let'sGoFurther - Chapter 6: SQL Migrations
      InstallingthemigratetoolTomanageSQLmigrationsinthisprojectwe’regoingtousethemigratecommand-line tool(whichitselfiswritteninGo).OnLinuxandWindows,theeasiestmethodistodownloadapre-builtbinaryandmove ittoalocat......
  • 通过MongoDB Atlas 实现语义搜索与 RAG——迈向AI的搜索机制
    目录通过MongoDBAtlas实现语义搜索与RAG——迈向AI的搜索机制一、引言二、语义搜索与MongoDBAtlas的背景三、MongoDBAtlas的向量搜索功能1.向量搜索的实现方式2.典型操作示例四、RAG在MongoDBAtlas的应用1、RAG是什么2、RAG的实现过程3、RAG的实际应......
  • Hyperf 微服务与 MongoDB 日志记录
    以下是关于在Hyperf微服务中使用MongoDB记录用户操作日志的相关技术详解: 一、Hyperf框架简介Hyperf是基于Swoole协程的高性能PHP微服务框架,它提供了诸多便捷的功能和组件,方便开发者快速构建高效、稳定的微服务应用。在微服务架构中,日志记录是非常重要的一环,有助于排查问题......
  • django 数据库ORM通用的公共函数
    通用查询1、公共函数:defgeneric_query(model,filter_kwargs=None,order_by=None,limit=None,aggregate=None,annotate=None):"""通用的DjangoORM查询函数。:parammodel:Django模型类:paramfilter_kwargs:过滤条件字典:paramorder_by:......
  • (mongodb副本集) PSA模式添加、修改节点
    (mongodb副本集)PSA模式添加、修改节点PSA模式介绍PSA模式(Primary-Secondary-Arbiter)是MongoDB复制集中的一种架构配置。在这种模式下,复制集由一个主节点(PRIMARY)、一个从节点(SECONDARY)和一个仲裁者节点(ARBITER)组成。在MongoDB的复制集中,仲裁者节点(Arbiter)是一种特殊类型的节点,......
  • (mongodb副本集) PSA模式添加、修改节点
    (mongodb副本集)PSA模式添加、修改节点PSA模式介绍PSA模式(Primary-Secondary-Arbiter)是MongoDB复制集中的一种架构配置。在这种模式下,复制集由一个主节点(PRIMARY)、一个从节点(SECONDARY)和一个仲裁者节点(ARBITER)组成。在MongoDB的复制集中,仲裁者节点(Arbiter)是一种特殊类型的节点,......
  • (mongodb副本集) PSA模式添加、修改节点
    (mongodb副本集)PSA模式添加、修改节点PSA模式介绍PSA模式(Primary-Secondary-Arbiter)是MongoDB复制集中的一种架构配置。在这种模式下,复制集由一个主节点(PRIMARY)、一个从节点(SECONDARY)和一个仲裁者节点(ARBITER)组成。在MongoDB的复制集中,仲裁者节点(Arbiter)是一种特殊类型的节点,......