docker 的log和golang runtime

ikaruga11 · · 5896 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

5896 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传