หนึ่งในโมดูลการเข้าสู่ระบบที่คุณสามารถพิจารณาเป็นklog รองรับการบันทึก 'V' ซึ่งให้ความยืดหยุ่นในการบันทึกในระดับหนึ่ง
klog เป็นทางแยกของ glog และเอาชนะข้อบกพร่องที่ตามมา
- glog นำเสนอ "gotchas" จำนวนมากและแนะนำความท้าทายในสภาพแวดล้อมที่มีคอนเทนเนอร์ซึ่งทั้งหมดนี้ไม่ได้รับการบันทึกไว้เป็นอย่างดี
- glog ไม่มีวิธีง่ายๆในการทดสอบบันทึกซึ่งจะลดความเสถียรของซอฟต์แวร์ที่ใช้งาน
- glog ใช้ C ++ และ klog เป็นการใช้งาน golang ที่บริสุทธิ์
การใช้งานตัวอย่าง
package main
import (
"flag"
"k8s.io/klog"
)
type myError struct {
str string
}
func (e myError) Error() string {
return e.str
}
func main() {
klog.InitFlags(nil)
flag.Set("v", "1")
flag.Parse()
klog.Info("hello", "val1", 1, "val2", map[string]int{"k": 1})
klog.V(3).Info("nice to meet you")
klog.Error(nil, "uh oh", "trouble", true, "reasons", []float64{0.1, 0.11, 3.14})
klog.Error(myError{"an error occurred"}, "goodbye", "code", -1)
klog.Flush()
}