Skip to content

Instantly share code, notes, and snippets.

@zhangskills
Created August 8, 2014 09:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zhangskills/11acb5420ea917174b54 to your computer and use it in GitHub Desktop.
Save zhangskills/11acb5420ea917174b54 to your computer and use it in GitHub Desktop.
获取调用log.Debug的函数名和代码所在的行数
package main
import "runtime"
import "log"
func main() {
test()
}
func test() {
test2()
}
func test2(){
pc,file,line,ok := runtime.Caller(2)
log.Println(pc)
log.Println(file)
log.Println(line)
log.Println(ok)
f := runtime.FuncForPC(pc)
log.Println(f.Name())
pc,file,line,ok = runtime.Caller(0)
log.Println(pc)
log.Println(file)
log.Println(line)
log.Println(ok)
f = runtime.FuncForPC(pc)
log.Println(f.Name())
pc,file,line,ok = runtime.Caller(1)
log.Println(pc)
log.Println(file)
log.Println(line)
log.Println(ok)
f = runtime.FuncForPC(pc)
log.Println(f.Name())
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment