লগিং মডিউল আপনাকে বিবেচনা করতে পারেন মধ্যে একজন হল klog । এটি 'ভি' লগিং সমর্থন করে যা নির্দিষ্ট স্তরে লগ করার জন্য নমনীয়তা দেয়
klog হ'ল গ্লোব একটি কাঁটাচামচ এবং নিম্নলিখিত ত্রুটিগুলি কাটিয়ে উঠেছে
- গ্লোব অনেকগুলি "গোটচস" উপস্থাপন করে এবং ধারক পরিবেশে চ্যালেঞ্জগুলির পরিচয় দেয়, যার সবগুলিই ভালভাবে নথিভুক্ত নয়।
- লগগুলি লগগুলি পরীক্ষা করার সহজ উপায় সরবরাহ করে না যা এটি সফ্টওয়্যার ব্যবহার করে স্থায়িত্ব থেকে বিরত রাখে
- গ্লোব সি ++ ভিত্তিক এবং ক্লোগ একটি খাঁটি গোলং বাস্তবায়ন implementation
নমুনা বাস্তবায়ন
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()
}