go logrus输出map
时间: 2024-09-24 11:08:00 浏览: 15
在Go语言中,使用`logrus`库进行日志记录时,通常不会直接输出Map结构,因为`logrus`设计上倾向于接收标准格式化的字符串或其他简单类型的数据。然而,你可以通过将Map转换成字符串或者JSON格式来输出。
如果你想输出键值对列表,可以先循环遍历Map,然后拼接成字符串:
```go
package main
import (
"log"
"os"
"github.com/sirupsen/logrus"
)
func main() {
log.SetOutput(os.Stdout) // 设置输出到控制台
m := map[string]string{"key1": "value1", "key2": "value2"}
for k, v := range m {
log.WithFields(logrus.Fields{
"Key": k,
"Val": v,
}).Info("Mapping")
}
}
```
如果你需要更复杂的格式,如JSON,可以借助第三方包`encoding/json`:
```go
import (
"encoding/json"
"fmt"
"log"
"os"
"github.com/sirupsen/logrus"
)
func main() {
log.SetOutput(os.Stdout) // 设置输出到控制台
m := map[string]interface{}{"key1": "value1", "key2": 123}
jsonBytes, err := json.MarshalIndent(m, "", " ")
if err != nil {
log.Fatal(err)
}
log.Info(string(jsonBytes))
}
```