log
Go 語言標准庫 log 包實現了簡單的日志。
go
func main() {
log.Println("日志")
log.Panicln("panic日志")
log.Fatalln("錯誤日志")
}Fatal 會在寫入日志信息後調用os.exit(1),panic 則會拋出panic
前綴
go
func (l *Logger) Prefix() string //獲取前綴
func (l *Logger) SetPrefix(prefix string) //設置前綴例子
go
func main() {
log.SetPrefix("[main]")
log.Println("日志")
log.Panicln("panic日志")
}Flag
方法
go
func (l *Logger) Flags() int //訪問
func (l *Logger) SetFlags(flag int) //設置常量
go
const (
Ldate = 1 << iota // 日期
Ltime // 時間
Lmicroseconds // 微秒
Llongfile // 完成文件名稱
Lshortfile // 短文件名稱
LUTC // 時區
Lmsgprefix // 前綴
LstdFlags = Ldate | Ltime // 初始值
)例子
go
func main() {
log.SetFlags(log.Lshortfile | log.Lmicroseconds | log.Lmsgprefix | log.Ldate | log.Ltime)
log.Println("日志")
log.Panicln("panic日志")
}當然也可以使用log.SetOutput(w io.Writer)來設置日志的輸出路徑,也可以通過New方法創建自己的實例。
go
func New(out io.Writer, prefix string, flag int) *Logger總而言之,標准庫的log包提供的功能並不夠完善,我們通常會使用更加完善的第三方日志包,例如zap等等。
