25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

66 satır
1.4 KiB

package log
import (
"github.com/gookit/color"
"io"
"log"
"os"
"time"
)
//重写log标准库,需要多少个方法就加多少个
var file = "./logs/jd_seckill_" + time.Now().Format("20060102") + ".log"
//将日志同时输出到控制台和文件
func Println(v ...interface{}) {
logFile, logErr := os.OpenFile(file, os.O_CREATE|os.O_APPEND|os.O_RDWR, 0666)
if logErr != nil {
panic(logErr)
}
defer logFile.Close()
mw := io.MultiWriter(os.Stdout, logFile)
log.SetOutput(mw)
//log.SetPrefix("[jd_seckill]")
log.SetFlags(log.LstdFlags | log.Lshortfile | log.Lmicroseconds)
log.Println(v...)
}
//将日志同时输出到控制台和文件
func ColorPrintln(color2 color.Color, v ...interface{}) {
logFile, logErr := os.OpenFile(file, os.O_CREATE|os.O_APPEND|os.O_RDWR, 0666)
if logErr != nil {
panic(logErr)
}
defer logFile.Close()
log.SetOutput(logFile)
//log.SetPrefix("[jd_seckill]")
log.SetFlags(log.LstdFlags | log.Lshortfile | log.Lmicroseconds)
log.Println(v...)
color2.Light().Println(v...)
}
func Fatal(v ...interface{}) {
log.Fatal(v...)
}
func Printf(format string, v ...interface{}) {
log.Printf(format, v...)
}
func Success(v ...interface{}) {
ColorPrintln(color.Green, v...)
}
func Info(v ...interface{}) {
ColorPrintln(color.LightCyan, v...)
}
func Warning(v ...interface{}) {
ColorPrintln(color.Yellow, v...)
}
func Error(v ...interface{}) {
ColorPrintln(color.FgLightRed, v...)
os.Exit(0)
}