docker 的log和golang runtime

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/

本文来自:CSDN博客

感谢作者:ikaruga11

查看原文:docker 的log和golang runtime

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。