Golang fasthttp 路由器自定义记录器

问题描述

我在玩 fasthttp 并且它是路由器,我对基本的东西没有任何问题,我有一个可以工作的服务器和一个路由器,这是最简单的部分。

问题出在记录器上,我希望能够自定义那个记录器,但是使用 ctx.Logger() 似乎不可能,因为它只需要一个 Printf 参数并且格式不是我想要的寻找。

有人知道我可以在文档中的哪个位置找到我想要做的工作示例吗?

我目前拥有的代码示例:

package server

import (
    "github.com/fasthttp/router"
    "github.com/valyala/fasthttp"
)

// Router will manage the routes of our API server
func Router() *router.Router {
    r := router.New()
    r.GET("/",index)

    return r
}

func index(ctx *fasthttp.RequestCtx) {
    ctx.Logger().Printf("/")
    ctx.WriteString("Welcome!")
}

因为我仍在尝试使用 Web 服务器,但我仍然不了解它和 Go 的一些事情。所以欢迎举个例子。

例如,我希望能够使用主包中定义的记录器来执行类似的操作:

 package server

import (
    "github.com/fasthttp/router"
    "github.com/valyala/fasthttp"
    "go.uber.org/zap"
)

// Router will manage the routes of our API server
func Router(loger *zap.Logger) *router.Router {
    r := router.New()
    r.GET("/",index)

    return r
}

func index(ctx *fasthttp.RequestCtx) {
    ctx.Logger().Printf("/") // Here should print in the zap format of my choice.
    ctx.WriteString("Welcome!")
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)