docker的log在pkg/log路径下的log.go。很简单:
1. 一共4个级别Debug,Info, Error,Fatal。
2. Info是直接输出到Stdout,其他是输出到Stderr(包括debug)。Fatal输出完log会自动退出
3. 实际进行输出的是logf 函数。其中用到golang的runtime库,如下
_, file, line, ok := runtime.Caller(2)
4. runtime.Caller()
func Caller(skip int) (pc uintptr, file string, line int, ok bool)skip如果是0,返回当前调用Caller函数的函数名、文件、程序指针PC,1是上一层函数,以此类推
5. runtime.Breakpoint()
(不用IDE的时候)在程序里设置断点用,配合gdb使用
Reference:
http://blog.studygolang.com/2012/12/gdb%E8%B0%83%E8%AF%95go%E7%A8%8B%E5%BA%8F/
http://golang.org/pkg/runtime/
有疑问加站长微信联系(非本文作者)