docker 的log和golang runtime

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

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/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.