我们如何使用 gofiber golang 框架登录到标准输出?
How do we log to stdout with gofiber golang framework?
我正在寻找一种使用 gofiber golang 框架将一些数据记录到 stdout 的方法,因为该框架非常安静并且大部分不会记录错误
我在想我可以直接使用 fmf.Print
但即使这样也根本没有被接受
你们如何使用 gofiber 框架进行故障排除?当框架很少吐出任何东西时,我如何检测代码中的问题。
例如,这是我正在尝试做的事情 但是在标准输出中仍然一无所获
func GetUserEmail(c *fiber.Ctx) (string, error) {
cookie := c.Cookies("access_token")
token, err := jwt.ParseWithClaims(cookie, &ClaimsWithScope{}, func(token *jwt.Token) (interface{}, error) {
return []byte(SecretKey), nil
})
if err != nil {
return "issues found", err
}
payload := token.Claims.(*ClaimsWithScope)
email := payload.Subject
fmt.Print("email is", email, "\n")
return email, nil
}
从上面我有这一行 fmt.Print("email is", email, "\n")
将 email
的值打印到标准输出,这样我就可以排除故障 但是什么也没有打印出来
需要使 gofiber 冗长以解决问题
要解析带有声明或自定义声明的 JWT,您应该检查状态。
// pass your custom claims to the parser function and data type of cookie parameter should be string
token, err := jwt.ParseWithClaims(cookie, &ClaimsWithScope{}, func(token *jwt.Token) (interface{}, error) {
if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
return nil, errors.New("unexpected signing method")
}
return []byte(/* your JWT secret*/), nil
})
// type-assert `Claims` into a variable of the appropriate type
payload := token.Claims.(*ClaimsWithScope)
如果您没有看到 fmt.Print()
的任何输出,那么您必须使用 fmt.Println()
.
Print :- "Print" 这不能格式化任何东西,它只是接受一个字符串并打印它
Println :- "Print Line" 与 Printf()
相同,但它会附加一个换行符 \n
fmt.Println("email is", email, "\n")
确实有效,问题是代码没有达到那个程度;终于在代码中将它移到了更高的位置,现在可以在 stdout
中看到打印
我正在寻找一种使用 gofiber golang 框架将一些数据记录到 stdout 的方法,因为该框架非常安静并且大部分不会记录错误
我在想我可以直接使用 fmf.Print
但即使这样也根本没有被接受
你们如何使用 gofiber 框架进行故障排除?当框架很少吐出任何东西时,我如何检测代码中的问题。
例如,这是我正在尝试做的事情 但是在标准输出中仍然一无所获
func GetUserEmail(c *fiber.Ctx) (string, error) {
cookie := c.Cookies("access_token")
token, err := jwt.ParseWithClaims(cookie, &ClaimsWithScope{}, func(token *jwt.Token) (interface{}, error) {
return []byte(SecretKey), nil
})
if err != nil {
return "issues found", err
}
payload := token.Claims.(*ClaimsWithScope)
email := payload.Subject
fmt.Print("email is", email, "\n")
return email, nil
}
从上面我有这一行 fmt.Print("email is", email, "\n")
将 email
的值打印到标准输出,这样我就可以排除故障 但是什么也没有打印出来
需要使 gofiber 冗长以解决问题
要解析带有声明或自定义声明的 JWT,您应该检查状态。
// pass your custom claims to the parser function and data type of cookie parameter should be string
token, err := jwt.ParseWithClaims(cookie, &ClaimsWithScope{}, func(token *jwt.Token) (interface{}, error) {
if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
return nil, errors.New("unexpected signing method")
}
return []byte(/* your JWT secret*/), nil
})
// type-assert `Claims` into a variable of the appropriate type
payload := token.Claims.(*ClaimsWithScope)
如果您没有看到 fmt.Print()
的任何输出,那么您必须使用 fmt.Println()
.
Print :- "Print" 这不能格式化任何东西,它只是接受一个字符串并打印它
Println :- "Print Line" 与 Printf()
相同,但它会附加一个换行符 \n
fmt.Println("email is", email, "\n")
确实有效,问题是代码没有达到那个程度;终于在代码中将它移到了更高的位置,现在可以在 stdout
中看到打印