Implementation of golang log

This is the implementation log I compiled, the code can be reused

package initlog  // 所在的包名

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


var Outfile *os.File

// 这是定义的日志的等级级别可根据自己的需求,定义自己需要的级别
var (
	Error *log.Logger
	Info  *log.Logger
	Warn  *log.Logger   
)

func init() {
    
    
	var err error
	Outfile, err = os.OpenFile("./clientFunc.log",  os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
	//fmt.Println(reflect.TypeOf(outfile))
	if err != nil {
    
    
		log.Panicf("open log file fail:%s ", err)
	}
	Error = log.New(Outfile, "[error]", log.Ldate|log.Ltime|log.Lshortfile)
	Info = log.New(Outfile, "[info]", log.Ldate|log.Ltime|log.Lshortfile)
	Warn = log.New(Outfile, "[warn]", log.Ldate|log.Ltime|log.Lshortfile)
}

func CheckErr(funcName string, err error) {
    
    
	if err != nil {
    
    
		fmt.Println(funcName, err)
		panic(err)
	}
}

When called in another file

package main

import (
  "hprose/client/initlog"
)

initlog.Info.Println("写进日志的内容")  // info代表等级

Guess you like

Origin blog.csdn.net/weixin_43202081/article/details/109363935