go --log

package main

import "log"

func main(){
	s := "my name is satori"
	log.Print(s)
	log.Println(s)
	log.Printf("%s",s)
}

  

package main

import (
	"log"
	"fmt"
)

func main(){
	defer func() {
		fmt.Println("mmp")
	}()

	s := "my name is satori"
	log.Fatalln(s)
}//2018/07/07 09:36:06 my name is satori

//可以看到当执行完Fatal之后,defer里面的内容并没有执行

  

package main

import (
	"log"
	"fmt"
)

func main(){
	defer func() {
		fmt.Println("mmp")
		if err:=recover();err!=nil{
			fmt.Println(err)
		}
	}()

	s := "my name is satori"
	log.Panicln(s)

	defer func() {
		print("-----------")
	}()
}
//mmp
//2018/07/07 09:41:06 my name is satori
//my name is satori

//当遇见panic的时候会报错,会执行上面的recover,捕获错误,下面的不会打印

  

package main

import (
	"os"
	"log"
)

//也可以打印到文件

func main(){
	filename:="log.log"
	logfile,_:=os.Create(filename)
	defer logfile.Close()
	//Flags和Prefix分别可以获得log.Logger当前的日志抬头和前缀。 SetFlags ,SetPrefix 则可以用来设置日志抬头和前缀。

	//Ldate         = 1 << iota     // 形如 2009/01/23 的日期
	//Ltime                         // 形如 01:23:23   的时间
	//Lmicroseconds                 // 形如 01:23:23.123123   的时间
	//Llongfile                     // 全路径文件名和行号: /a/b/c/d.go:23 
	//Lshortfile                    // 文件名和行号: d.go:23
	//LstdFlags     = Ldate | Ltime // 日期和时间
	logger := log.New(logfile,"[info]",log.Llongfile)
	logger.SetPrefix("satori")
	logger.Println("老子今")
	logger.Println("天就是")
	logger.SetFlags(1|6)
	logger.Println("要日了")
	logger.Println("李婉婉")
}

  

猜你喜欢

转载自www.cnblogs.com/traditional/p/9276448.html