我一直在寻找有关如何实现数据库记录器的示例,以便uber-go.zip
将message
andfields
插入到数据库表中以进行查询。(所以没有编码)到目前为止没有运气找到一些例子,所以我从这里的例子开始:
但是代码甚至似乎没有做它建议它应该做的事情,这是我的例子:
https://go.dev/play/p/9AugEsYwA-E
package main
import (
"errors"
"fmt"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)
func main() {
fmt.Println("Hello, 世界")
l, _ := zap.NewProduction()
logger := zap.New(&CqlLogCore{Core: l.Core()})
logger.Info("some logging info",
zap.Int("count", 17),
zap.Error(errors.New("boom")))
}
type CqlLogCore struct {
zapcore.Core
}
func (c *CqlLogCore) Write(entry zapcore.Entry, fields []zapcore.Field) error {
fmt.Println("hi", entry, fields)
return c.Core.Write(entry, fields)
}
带有“hi”的测试日志消息不会转储到标准输出。有人可以指出我哪里出错了,或者一个示例数据库记录器。
谢谢!