在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格式的字节数组转换为字符串。