在Golang中,我们可以使用标准库"log"来记录日志。但是,标准库"log"并不提供直接提取关键信息的功能。为了实现这个功能,我们可以使用第三方日志库,如"logrus"或"zap"。这里我将分别介绍如何在这两个库中提取关键信息。
首先,需要安装logrus库:
go get github.com/sirupsen/logrus
然后,在代码中使用logrus记录日志:
package main
import (
"github.com/sirupsen/logrus"
)
func main() {
logrus.SetFormatter(&logrus.JSONFormatter{})
logrus.Info("This is an info log with key-value pairs", logrus.Fields{
"key1": "value1",
"key2": "value2",
})
}
在这个例子中,我们使用了JSONFormatter来格式化日志,这样我们就可以在日志中提取关键信息了。要提取关键信息,我们可以解析日志字符串,或者使用logrus提供的Fields来访问这些关键信息。
首先,需要安装zap库:
go get -u go.uber.org/zap
然后,在代码中使用zap记录日志:
package main
import (
"go.uber.org/zap"
)
func main() {
logger, _ := zap.NewProduction()
defer logger.Sync()
logger.Info("This is an info log with key-value pairs",
zap.String("key1", "value1"),
zap.String("key2", "value2"),
)
}
在这个例子中,我们使用了zap.String来添加关键信息。要提取关键信息,我们可以使用zap提供的各种类型的字段(如String、Int、Bool等)来访问这些关键信息。
注意:在实际项目中,你可能需要根据项目需求选择合适的日志库。logrus提供了丰富的功能,而zap则更注重性能。