自带 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
自带 log 库没有直接的实现, 可以用 runtime 可以实现
存下面代码为 log.go
运行
输出