1 个回答

自带 log 库没有直接的实现, 可以用 runtime 可以实现

存下面代码为 log.go

package main

import (
    "runtime"
    "fmt"
)

func trace(s string) {
        pc := make([]uintptr, 10)  
        runtime.Callers(2, pc)
        f := runtime.FuncForPC(pc[0])
        file, line := f.FileLine(pc[0])
        fmt.Printf("%s:%d %s -- %s\n", file, line, f.Name(), s) //这里可以换成自带的 log
}

func foo(s  string){
        trace(s)
}

func main(){
    foo("test")
}

运行

$ go run log.go 

输出

/Users/golang/log.go:17 main.main -- test
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题