1. 程式人生 > >go語言log包的學習(log,Logger)

go語言log包的學習(log,Logger)

等價 信息 printf setflags 內容 獲取 orm test reat

package main;

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

func main() {
	//創建輸出日誌文件
	logFile, err := os.Create("./" + time.Now().Format("20060102") + ".txt");
	if err != nil {
		fmt.Println(err);
	}

	//創建一個Logger
	//參數1:日誌寫入目的地
	//參數2:每條日誌的前綴
	//參數3:日誌屬性
	loger := log.New(logFile, "test_", log.Ldate|log.Ltime|log.Lshortfile);

	//Flags返回Logger的輸出選項
	fmt.Println(loger.Flags());

	//SetFlags設置輸出選項
	loger.SetFlags(log.Ldate | log.Ltime | log.Lshortfile);

	//返回輸出前綴
	fmt.Println(loger.Prefix());

	//設置輸出前綴
	loger.SetPrefix("test_");

	//輸出一條日誌
	loger.Output(2, "打印一條日誌信息");

	//格式化輸出日誌
	loger.Printf("第%d行 內容:%s", 11, "我是錯誤");

	//等價於print();os.Exit(1);
	loger.Fatal("我是錯誤");

	//等價於print();panic();
	loger.Panic("我是錯誤");

	//log的導出函數
	//導出函數基於std,std是標準錯誤輸出
	//var std = New(os.Stderr, "", LstdFlags)

	//獲取輸出項
	fmt.Println(log.Flags());
	//獲取前綴
	fmt.Printf(log.Prefix());
	//輸出內容
	log.Output(2, "輸出內容");
	//格式化輸出
	log.Printf("第%d行 內容:%s", 22, "我是錯誤");
	log.Fatal("我是錯誤");
	log.Panic("我是錯誤");
}

  

go語言log包的學習(log,Logger)