5 回答

TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊
您嘗試做的事情是不可能的:
輸出到stdout或stderr 的日志沒(méi)有關(guān)聯(lián)的日志級(jí)別。
內(nèi)部系統(tǒng)消息具有DEBUG日志級(jí)別。
您可能需要的是使用Logging API,特別是Log Levels部分。
如果這對(duì)您不起作用,您可以嘗試使用node.js
代替,go
因?yàn)樗?dāng)前分別使用和向INFO
和級(jí)別發(fā)出日志。ERROR
console.log()
console.error()

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊
我創(chuàng)建了一個(gè)包來(lái)做到這一點(diǎn):?github.com/ncruces/go-gcp/glog
它適用于 App Engine、Kubernetes Engine、Cloud Run 和 Cloud Functions。支持設(shè)置日志記錄級(jí)別、請(qǐng)求/跟蹤元數(shù)據(jù)和結(jié)構(gòu)化日志記錄。
用法:
func HelloWorld(w http.ResponseWriter, r *http.Request) {
? ? glog.Infoln("Hello logs")
? ? glog.Errorln("Hello logs")
? ? // or, to set request metadata:
? ? logger := glog.ForRequest(r)
? ? logger.Infoln("Hello logs")
}

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以使用允許您設(shè)置日志級(jí)別的外部庫(kù)。使用 logrus 設(shè)置最小日志級(jí)別(您可以通過(guò)在環(huán)境變量中提供日志級(jí)別來(lái)改進(jìn)此代碼),并使用 joonix 來(lái)設(shè)置 fluidd 格式化程序。(第 25 行)
一個(gè)注意點(diǎn)。第11行,我將logrus包重命名為log?log "github.com/sirupsen/logrus"
?因此,不使用log標(biāo)準(zhǔn)庫(kù),而是使用logrus庫(kù)。有時(shí)很無(wú)聊......您可以簡(jiǎn)單地用 logrus 替換 log 以避免所有混亂。
Joonix 是一個(gè) FluentD 格式化程序,用于將日志轉(zhuǎn)換為 Stackdriver 可攝取的格式。

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊
我也嘗試為此創(chuàng)建一個(gè)包。如果您使用 logrus ( https://github.com/sirupsen/logrus ),那么這可能會(huì)有所幫助:
https://github.com/tekkamanendless/gcfhook
我在生產(chǎn)中使用它,并且運(yùn)行得很好。

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
我推薦https://github.com/apsystole/log。它也與 log 和 logrus 兼容,但它是一個(gè)小型的零依賴模塊,與兩個(gè)現(xiàn)有答案中使用的庫(kù)不同,后者將 400 多個(gè)模塊作為其依賴項(xiàng)(喘息......我只是在看go mod graph
)。
- 5 回答
- 0 關(guān)注
- 193 瀏覽
添加回答
舉報(bào)