当先锋百科网

首页 1 2 3 4 5 6 7

在Go语言中,输出JSON日志比较简单,可以使用标准库中提供的相关方法实现。下面是一个示例代码:

import (
	"encoding/json"
	"log"
)
type MyLog struct {
	Message string `json:"message"`
	Level   string `json:"level"`
}
func main() {
	logger := log.New(os.Stdout, "", log.LstdFlags)
// 定义一个结构体
	myLog := MyLog{
Message: "this is a test",
Level:   "info",
	}
// 将结构体转换成JSON格式
	logJson, err := json.Marshal(myLog)
	if err != nil {
logger.Println("json.Marshal failed: ", err)
return
	}
// 输出JSON日志
	logger.Println(string(logJson))
}

在上面的代码中,我们定义了一个结构体来表示日志的内容,然后使用json.Marshal()方法将其转换为JSON格式的字符串。接着,我们使用log.New()方法创建了一个Logger实例,使用Logger实例的Println()方法输出JSON日志。

需要注意的是,在输出JSON日志时,我们需要使用string()方法将JSON格式的字节数组转换为字符串。