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

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

我應(yīng)該在生產(chǎn)代碼中使用 fmt 嗎?

我應(yīng)該在生產(chǎn)代碼中使用 fmt 嗎?

Go
梵蒂岡之花 2022-01-04 18:54:12
我看到很多Go類似這樣的代碼:func main() {    response, _, err := http.Get("http://golang.org/")    if err != nil {        fmt.Printf("%s", err)        os.Exit(1)    }    defer response.Body.Close()    contents, err := ioutil.ReadAll(response.Body)    if err != nil {        fmt.Printf("%s", err)        os.Exit(1)    }    fmt.Printf("%s\n", string(contents))}我的問(wèn)題是:在生產(chǎn)中,我應(yīng)該保留這些fmt.Printf語(yǔ)句嗎?愚蠢的問(wèn)題我確定但只是檢查您為生產(chǎn)代碼和開發(fā)推薦哪些日志記錄選項(xiàng)?
查看完整描述

3 回答

?
慕勒3428872

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

認(rèn)為printf在某些情況下使用s是可以接受的。最好在生產(chǎn)環(huán)境中使用不同的日志記錄策略。

例如,如果您的應(yīng)用程序是在后臺(tái)運(yùn)行的守護(hù)進(jìn)程,fmt.Printf除非您不將它們通過(guò)管道傳輸?shù)轿募校駝t您將錯(cuò)過(guò)所有的應(yīng)用程序。

進(jìn)行 looging 的一個(gè)好方法是使用日志輪換(因?yàn)槟幌霌碛蟹浅4蟮奈募┒皇侵匦掳l(fā)明自己的 logrotate,您可以根據(jù)需要使用標(biāo)準(zhǔn)包或外部包。

Golang 提供了一個(gè)日志syslog子包,是依賴操作系統(tǒng) syslog 做簡(jiǎn)單日志的最佳解決方案。


查看完整回答
反對(duì) 回復(fù) 2022-01-04
?
拉莫斯之舞

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

fmt.Printf() 適合開始勾勒您的程序,但您可能應(yīng)該刪除它們或替換為真實(shí)的日志記錄語(yǔ)句。

如果我需要更多,我對(duì)標(biāo)準(zhǔn)日志logrus祝你好運(yùn)。

所有日志記錄都取決于其他與操作相關(guān)的問(wèn)題,因此誰(shuí)/什么正在處理/查看日志很重要。


查看完整回答
反對(duì) 回復(fù) 2022-01-04
?
慕容708150

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

我認(rèn)為最好的方法是準(zhǔn)備您的代碼,以便在啟動(dòng) go 應(yīng)用程序時(shí)使用輸入?yún)?shù)輕松地從開發(fā)環(huán)境切換到生產(chǎn)環(huán)境。


您可以創(chuàng)建不同級(jí)別的日志:


“始終”日志級(jí)別


此日志級(jí)別始終處于啟用狀態(tài),提供有關(guān)應(yīng)用程序狀態(tài)的重要信息(如果需要)。還報(bào)告崩潰消息。


“測(cè)試”日志級(jí)別


當(dāng)您的代碼完成時(shí),此日志級(jí)別包含有用的信息,但您必須檢查一些在代碼投入生產(chǎn)時(shí)不再有用的信息


“調(diào)試”日志級(jí)別


當(dāng)您在開發(fā)環(huán)境中開發(fā)新功能或優(yōu)化現(xiàn)有代碼時(shí),此日志級(jí)別包含有用的信息


在我看來(lái),最好的方法是使用chan s,它允許您創(chuàng)建一個(gè)異步守護(hù)程序并在您想要的任何地方記錄任何您想要的內(nèi)容。


你可以在這里閱讀一些關(guān)于陳的信息。


守護(hù)進(jìn)程的一個(gè)例子可能是:


func daemonLogging(importantMessage chan error, testingMessage chan error,debugMessage chan error){

    for{


        if globalDebugFlag == true{

            // Log debug message

        }


        if globalTestingMessage == true{

            // Log Testing message

        }


        // Log important message

    }

}

記得用go關(guān)鍵字調(diào)用這個(gè)函數(shù)


我認(rèn)為你使用什么包并不重要(如果你沒有任何需要)但重要的是你決定如何記錄你的消息


查看完整回答
反對(duì) 回復(fù) 2022-01-04
  • 3 回答
  • 0 關(guān)注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報(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)