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

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

使用 go-kit logger api 缺少的方法

使用 go-kit logger api 缺少的方法

Go
繁星點(diǎn)點(diǎn)滴滴 2023-07-26 19:40:56
我想使用go kit存儲(chǔ)庫(kù)中的記錄器,我看到作者還提供了logrus?API/factory ,同時(shí)嘗試使用 logrus 的一些常見(jiàn) API 功能(如 、withFields和error/?info/panic等)對(duì)其進(jìn)行測(cè)試,我不能僅使用它們 log知道如何添加缺少的日志功能嗎?logrus.WithField?API。這就是我想念的? log.WithFields(log.Fields{? ? "animal": "walrus",? }).Info("A walrus appears")還有信息/錯(cuò)誤/調(diào)試等這是我嘗試過(guò)的package mainimport (? ?log "github.com/go-kit/kit/log/logrus"? ?"github.com/sirupsen/logrus")func main() {? ?logrusLogger := logrus.New()? ?logrusLogger.Formatter = &logrus.JSONFormatter{TimestampFormat: "02-01-2006 15:04:05"}? ?logger := log.NewLogrusLogger(logrusLogger)? ? logger.Log("hello", "world”)? //working? ?logger.WithFields(? ? //doesnt work? ? logger.Info(? ? ? //doesnt work}記錄器是類型logrus,但我不能使用withFields或信息/錯(cuò)誤/調(diào)試等,知道我在這里缺少什么嗎?當(dāng)日志工具包創(chuàng)建一些工廠時(shí),有沒(méi)有辦法使用 logrus api?
查看完整描述

1 回答

?
慕哥6287543

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

這是因?yàn)閯?chuàng)建了只有一種方法(滿足接口)的log.NewLogrusLogger()未導(dǎo)出。它不支持 logrus 本身的其他方法。logrusloggerLoglog.Logger


此Log方法可以采用鍵值對(duì)中的參數(shù)并logrus.Fields在記錄時(shí)將它們放入。因此,如果您這樣做Log("hello", "world"),它會(huì)將hello字段的值設(shè)置為world。但這不適用于level其他功能。


然而,由于logrus.FieldLogger嵌入在 的實(shí)現(xiàn)中l(wèi)ogruslogger,我們可以斷言我們的記錄器的行為如下logrus.FieldLogger,然后執(zhí)行以下操作:


package main


import (

    log "github.com/go-kit/kit/log/logrus"

    "github.com/sirupsen/logrus"

)


func main() {


    logrusLogger := logrus.New()


    logrusLogger.Formatter = &logrus.JSONFormatter{TimestampFormat: "02-01-2006 15:04:05"}

    logger := log.NewLogrusLogger(logrusLogger).(logrus.FieldLogger)


    logger.Error("Hello")

    logger.Warn("Warning you")


    logger.WithField("good", "bad").Infoln("is it good or bad?")


}


我希望這有幫助。但由于他們只公開(kāi)了Log方法,因此這些背后可能存在有意識(shí)的設(shè)計(jì)決策。您可以繼續(xù)使用,Log或者如果您想要更大的靈活性,我建議您設(shè)置自己的記錄器(使用 logrus),而不是我上面所做的。在我看來(lái),這將是一種更清潔的方法。


查看完整回答
反對(duì) 回復(fù) 2023-07-26
  • 1 回答
  • 0 關(guān)注
  • 102 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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