W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Kitex 在 pkg/klog 里定義了 ?Logger
?、?CtxLogger
?、?FormatLogger
?等幾個接口,并提供了一個 ?FormatLogger
?的默認實現(xiàn),可以通過 ?klog.DefaultLogger()
? 獲取到其實例。
pkg/klog 同時也提供了若干全局函數(shù),例如 ?klog.Info
?、?klog.Errorf
? 等,用于調(diào)用默認 logger 的相應方法。
注意,由于默認 logger 底層使用標準庫的 ?log.Logger
? 實現(xiàn),其在日志里輸出的調(diào)用位置依賴于設置的調(diào)用深度(call depth),因此封裝 klog 提供的實現(xiàn)可能會導致日志內(nèi)容里文件名和行數(shù)不準確。
可以用 ?klog.SetLogger
? 來替換掉默認的 logger 實現(xiàn)。
可以使用 ?klog.SetOutput
? 來重定向 klog 提供的默認 logger 的輸出。
例如,要把默認 logger 的輸出重定向到啟動路徑下的 ./output.log,可以這樣實現(xiàn):
package main
import (
"os"
"github.com/cloudwego/kitex/pkg/klog"
)
func main() {
f, err := os.OpenFile("./output.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
panic(err)
}
defer f.Close()
klog.SetOutput(f)
... // continue to set up your server
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: