第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將格式化程序應(yīng)用于 logrus 全局記錄器

將格式化程序應(yīng)用于 logrus 全局記錄器

Go
躍然一笑 2022-05-18 14:49:30
我想要一個 logrus 記錄器,它在 main() 中配置了默認(rèn)字段,所以我不必指望其他開發(fā)人員每次都記錄所需的字段。作為原型,我有這個,它完全符合我的要求:package mainimport ( "github.com/sirupsen/logrus")var ( log    *logrus.Logger logger *logrus.Entry)func foo(x, y string) { logger.WithFields(logrus.Fields{"A": x, "B": y}).Error("error!")}func main() { x := "argle" y := "bargle" log = logrus.New() logger = logrus.WithFields(logrus.Fields{"X": x, "Y": y})//  log.Formatter = &logrus.JSONFormatter{} logger.Info("Info!") logger.Debug("Debug!") foo("xyzzy", "fnord")}問題是格式化程序。我終其一生都無法弄清楚將 Formatter 應(yīng)用到的魔法咒語logger。如果我按原樣取消注釋,則不應(yīng)用 JSON 格式。如果我把它寫成logger.Formatter = &logrus.JSONFormatter{}我明白了./foo.go:17:8: logger.Formatter 未定義(類型 *logrus.Entry 沒有字段或方法 Formatter)我誤解了什么?
查看完整描述

1 回答

?
滄海一幻覺

TA貢獻(xiàn)1824條經(jīng)驗 獲得超5個贊

您可以使用logrus.SetFormatter(&logrus.JSONFormatter{})將logrus格式更改為 JSON。這是您的工作代碼,并進(jìn)行了一些更改。


package main


import (

    "github.com/sirupsen/logrus"

)


var (

    log    *logrus.Logger

    logger *logrus.Entry

)


func foo(x, y string) {

    logger.WithFields(logrus.Fields{"A": x, "B": y}).Error("error!")

}


func main() {

    x := "argle"

    y := "bargle"


    log = logrus.New()


    log.SetFormatter(&logrus.JSONFormatter{})


    logger = log.WithFields(logrus.Fields{"X": x, "Y": y})


    logger.Info("Info!")

    logger.Debug("Debug!")

    foo("xyzzy", "fnord")

}


也可以logrus通過使用將格式設(shè)置為文本


logrus.SetFormatter(&logrus.TextFormatter{})

隨意在playground上玩代碼。


查看完整回答
反對 回復(fù) 2022-05-18
  • 1 回答
  • 0 關(guān)注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號