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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

僅將自定義字段添加到 logrus 中的錯(cuò)誤日志

僅將自定義字段添加到 logrus 中的錯(cuò)誤日志

Go
哈士奇WWW 2022-10-24 15:23:58
我正在使用logrus登錄golang。我使用以下語句進(jìn)行日志記錄。logger.Info("") logger.Errorf("Error message")我的要求是僅在Errorf具有以下約束的語句中具有自定義字段(嚴(yán)重性)。如果在日志語句中指定(例如:)logrus.WithField("severity", "critical").Errorf("Error message"),它應(yīng)該打印指定的值,如下所示。ERRO[0000] Error message            severity=critical如果未指定,則應(yīng)打印默認(rèn)值。例如 this( logger.Errorf("Error message")) 日志語句應(yīng)打印以下內(nèi)容。ERRO[0000] Error message            severity=normal注意:這應(yīng)該只發(fā)生在Errorf語句上,這意味著其他人應(yīng)該正常工作。有人可以建議我實(shí)現(xiàn)這一目標(biāo)的方法嗎?
查看完整描述

1 回答

?
料青山看我應(yīng)如是

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊

編寫自定義Hook,將檢查條目是否severity設(shè)置了字段,如果沒有插入默認(rèn)值。將該鉤子附加到默認(rèn)全局或您自己的記錄器。


logrus.ErrorLevel您可以通過在返回值中僅包含該級(jí)別來限制掛鉤僅在條目上觸發(fā)Hook.Levels():


type ErrorHook struct {

}


func (h *ErrorHook) Levels() []logrus.Level {

    // fire only on ErrorLevel (.Error(), .Errorf(), etc.)

    return []logrus.Level{logrus.ErrorLevel}

}


func (h *ErrorHook) Fire(e *logrus.Entry) error {

    // e.Data is a map with all fields attached to entry

    if _, ok := e.Data["severity"]; !ok {

        e.Data["severity"] = "normal"

    }

    return nil

}


func main() {

    logrus.AddHook(&ErrorHook{})


    logrus.WithFields(logrus.Fields{"animal": "walrus"}).Info("A walrus appears")

    // time="2009-11-10T23:00:00Z" level=info msg="A walrus appears" animal=walrus

    logrus.WithFields(logrus.Fields{"animal": "walrus"}).Error("A error walrus appears")

    // time="2009-11-10T23:00:00Z" level=error msg="A error walrus appears" animal=walrus severity=normal

    logrus.WithFields(logrus.Fields{"animal": "walrus", "severity": "high"}).Error("An overriden severity error walrus appears")

    // time="2009-11-10T23:00:00Z" level=error msg="An overriden severity error walrus appears" animal=walrus severity=high

}


查看完整回答
反對(duì) 回復(fù) 2022-10-24
  • 1 回答
  • 0 關(guān)注
  • 113 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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