Files
BitSrunLoginGo/Util/log.go
Mmx 2b2df18e73 fix:兼容windows文件系统
1、修复文件名带”:“导致的windows无日志问题
2、日志添加时间戳
3、新增恐慌详细日志捕获
2021-05-29 11:43:16 +08:00

54 lines
948 B
Go

package Util
import (
"Mmx/Global"
"fmt"
"log"
"reflect"
"time"
)
type loG struct {
timeStamp string
}
var Log loG
func (*loG) WriteLog(name string, a ...interface{}) {
for _, v := range a {
var t string
switch reflect.TypeOf(v).Kind() {
case reflect.String:
t = v.(string)
case reflect.Interface:
t = v.(error).Error()
default:
t = fmt.Sprint(v)
}
err := File.Add(name, fmt.Sprintf(time.Now().Format("2006/01/02 15:04:05 "))+t)
if err != nil {
log.Println("Log error: ", err)
}
}
}
func (c *loG) genTimeStamp() {
if c.timeStamp == "" {
c.timeStamp = time.Now().Format("2006.01.02-15.04.05")
}
}
func (c *loG) Println(a ...interface{}) {
c.genTimeStamp()
if Global.Config.Settings.DemoMode {
c.WriteLog("Login-"+c.timeStamp+".log", a...)
}
log.Println(a...)
}
func (c *loG) Fatalln(a ...interface{}) {
c.genTimeStamp()
c.WriteLog("LoginError-"+c.timeStamp+".log", a...)
log.Fatalln(a...)
}