为了账号安全,请及时绑定邮箱和手机立即绑定

在日志文件中获取结构字符串

在日志文件中获取结构字符串

Go
蝴蝶刀刀 2022-04-25 17:22:49
我有一个脚本来打印相同的日志,例如:type Country stuct{  cityName string}var c Country和我var logger = logrus.New()logger.Debug(c)但在日志文件中,它看起来像:country_name:\"\\347\\276\\216\\345\\233\\275\" 我想知道\\347\\276\\216\\345\\233\\275\ 在我的脚本读取日志文件的同时读取真实数据的方法和方法。
查看完整描述

2 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

默认的 logrus格式化程序使用 ASCII编码写入JSON。您需要实现自己的格式化程序并使用 UTF-8。请参阅Logger.SetFormatter

当我查看源代码时,我没有看到任何可以设置来更改编码的设置。


查看完整回答
反对 回复 2022-04-25
?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

func convertOctonaryUtf8(in string) string {

    s := []byte(in)

    reg := regexp.MustCompile(`\\[0-7]{3}`)


    out := reg.ReplaceAllFunc(s,

        func(b []byte) []byte {

            i, _ := strconv.ParseInt(string(b[1:]), 8, 0)

            return []byte{byte(i)}

        })

    return string(out)

}

函数得到“\347\276\216\345\233\275\”的意思


查看完整回答
反对 回复 2022-04-25
  • 2 回答
  • 0 关注
  • 127 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信