Một trong những mô-đun ghi nhật ký mà bạn có thể xem xét là klog . Nó hỗ trợ ghi nhật ký 'V' mang lại sự linh hoạt để ghi nhật ký ở mức nhất định
klog là một nhánh của glog và khắc phục những nhược điểm sau
- glog trình bày rất nhiều "gotchas" và giới thiệu những thách thức trong môi trường container, tất cả đều không được ghi chép đầy đủ.
- glog không cung cấp một cách dễ dàng để kiểm tra nhật ký, điều này làm giảm tính ổn định của phần mềm sử dụng nó
- glog dựa trên C ++ và klog là một triển khai golang thuần túy
Thực hiện mẫu
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()
}