Go標準庫學習筆記 日誌 log

2021-08-20 01:23:24 字數 1410 閱讀 4642

log 模組用於在程式中輸出日誌,它的使用十分簡單,類似於fmt中的print,乙個最簡單的示例如下:

package main

import

"log"

func main()

上面的程式會在命令列列印一條日誌:

>>> 

2018/05/16

16:48:06 hello world

logger是寫入日誌的基本元件,log模組中存在乙個標準logger,可以直接通過log進行訪問,所以在上一節的例子中可以直接使用log.print進行日誌進行輸出。但是在實際使用中,不同型別的日誌可能擁有需求,僅標準logger不能滿足日誌記錄的需求,通過建立不同的logger可以將不同型別的日誌分類輸出。使用logger前需要首先通過new函式建立乙個logger物件,函式宣告如下:

func new(out io.writer, prefix string, flag int) *logger
函式接收三個引數分別是日誌輸出的io物件,日誌字首和日誌包含的通用資訊標識位,通過對它們進行設定可以對logger進行定製。其中io物件通常是標準輸出os.stdout,os.stderr,或者繫結到檔案的io。日誌字首和資訊標識位可以對日誌的格式進行設定。

一條日誌由三個部分組成,其結構如下:

...

package main

import (

"os"

"log"

)func main()

上面的程式將會輸出如下內容,可以看到日誌由上述三個部分組成。

[this is the log]2018/05/16

17:12:19

log.go:11: hello world

log模組中日誌輸出分為三類,print,fatal,panic。print是普通輸出;fatal是在執行完print之後,執行 os.exit(1);panic是在執行完print之後呼叫panic()方法。

除了基礎的print之外,還有printf和println方法對輸出進格式化,對於fatal和panic也是類似,具體的函式宣告 log index

go的log模組沒有對日誌進行分級的功能,對於這部分需求可以在log的基礎上進行實現,下面是乙個簡單的info方法實現。

package main

import

( "os"

"log"

)func

main

() )

infof

("hello world")

}

更多go標準庫內容見 go-doc-zh

Go語言標準庫之log

目錄 四 建立logger 五 總結 go 從入門到放棄完整教程目錄 更有python go pytorch tensorflow 爬蟲 人工智慧教學等著你 更新 更全的 go從入門到放棄 的更新 更有python go 人工智慧教學等著你 無論是軟體開發的除錯階段還是軟體上線之後的執行階段,日誌一...

Go語言標準庫log介紹

無論是軟體開發的除錯階段還是軟體上線之後的執行階段,日誌一直都是非常重要的乙個環節,我們也應該養成在程式中記錄日誌的好習慣。go語言內建的log包實現了簡單的日誌服務。本文介紹了標準庫log的基本使用。log包定義了logger型別,該型別提供了一些格式化輸出的方法。本包也提供了乙個預定義的 標準 ...

go筆記 標準庫 json

json資料格式通常包含兩個操作 序列化 把物件轉換成json資料型別 和反序列化 把json資料型別轉換成物件 二者操作互逆。go語言中相關標準庫為encoding json。package main import encoding json fmt type jsonexample struct...