Ben Git günlük çalışmaya başladı ve ben (biraz değişmiş) Aşağıdaki kaynak koduyla Go https://www.goinggo.net/2013/11/using-log-package-in-go.html yılındaKayıt formatına özel (const olmayan) dize bilgileri nasıl eklenir?
günlüğü ile ilgili bu madde karşılaştım: Bazı özel eklemek istiyorum şimdi
var (
Trace *log.Logger
Info *log.Logger
Warning *log.Logger
Error *log.Logger
)
func Init(
traceHandle io.Writer,
infoHandle io.Writer,
warningHandle io.Writer,
errorHandle io.Writer) {
Trace = log.New(traceHandle,
“TRACE: “,
log.Ldate|log.Ltime|log.Lshortfile)
Info = log.New(infoHandle,
“INFO: “,
log.Ldate|log.Ltime|log.Lshortfile)
Warning = log.New(warningHandle,
“WARNING: “,
log.Ldate|log.Ltime|log.Lshortfile)
Error = log.New(errorHandle,
“ERROR: “,
log.Ldate|log.Ltime|log.Lshortfile)
}
func main() {
Init(ioutil.Discard, os.Stdout, os.Stdout, os.Stderr)
}
bilgiler bu kaydedici tarafından üretilen günlük girişleri ama günlük tetikledi edildiği işlevin bir isim eklemek istiyorum Örneğin
(orada eklendi INFO:
veya WARNING:
gibi) const dize hazır değildir hangi. (here itibaren)
func _enter() {
// Skip this function, and fetch the PC and file for its parent
pc, _, _, _ := runtime.Caller(1)
// Retrieve a Function object this functions parent
functionObject := runtime.FuncForPC(pc)
// Regex to extract just the function name (and not the module path)
extractFnName := regexp.MustCompile(`^.*\.(.*)$`)
fnName := extractFnName.ReplaceAllString(functionObject.Name(), "$1")
fmt.Printf("Entering %s\n", fnName)
}
nasıl günlükçüsüne bu ekleyebilirsiniz: ı bunun için kullanmak istiyorum aşağıdaki işlevi var diyelim?