带你入门Go:Log日志模块2

Log模块主要三类方法
Print()   用于输出日志
Fatal()   输出日志的同时,调用os.Exit(1)方法退出,小提示:如果函数下存在defer不会执行
Panic()   输出日志的同时,调用panic方法
跟fmt.Print不同的地方在于,fmt.Print,fmt.Fatal,fmt.Pacni属于Stdout输出,log.Print属于Stderr输出
Log模块写入文件
New()   自定义log文件,将输出数据输入log文件
设置日志前缀
设置日志格式
Ldate           2018/01/01
Ltime           12:01:10
Lmicroseconds   12:01:10.605536
Llongfile       go_pro/src/log/Log.go:45
Lshortfile      Log.go:45

*Logger.Print()
*Logger.Fatal()
*Logger.Panic()
package main

import (
	"log"
	"fmt"
	"os"
)

func main() {
	sayPrint()
	sayFalal()
	sayPanic()

	newLog()

	//fmt.Print("fmt print")  //Stdout
}

func sayPrint() {
	log.Print("sayPrint")  //Stderr
}

func sayFalal() {
	defer fmt.Println("end")
	log.Fatal("sayFalal")
}

func sayPanic() {
	defer fmt.Println("end")
	log.Panic("sayOne")
}

func newLog() {
	//创建日志文件
	fileName := "app.log"
	logFile, err := os.Create(fileName)
	if err != nil {
		panic(err)
	}
	defer logFile.Close()

	//自定义输出日志
	//Ldate Ltime
	log := log.New(logFile, "[Info]", log.Ldate|log.Lmicroseconds|log.Llongfile)
	log.Println("newLog")
}

猜你喜欢

转载自blog.csdn.net/bravezhe/article/details/80019156
今日推荐