日志优化
This commit is contained in:
parent
1f1381bd8b
commit
ab01c7248d
@ -71,8 +71,6 @@ type GameLogic struct {
|
||||
Mdispatr *timer.Dispatcher
|
||||
M_LimitActiveList []int
|
||||
NotInitPlayer *Player
|
||||
Mlogger *log.Logger
|
||||
MloggerErr error
|
||||
Version int32
|
||||
M_SvrGlobal db.SqlSvrGlobalStruct
|
||||
MHttpManager *HttpManager
|
||||
@ -569,7 +567,6 @@ func (ad *GameLogic) FileExist(path string) bool {
|
||||
func (ad *GameLogic) CreateDailyLogFile() {
|
||||
zero := GoUtil.ZeroTimestamp()
|
||||
now := time.Unix(zero, 0).Local()
|
||||
|
||||
filename := fmt.Sprintf("%d%02d%02d.log",
|
||||
now.Year(),
|
||||
now.Month(),
|
||||
@ -578,22 +575,12 @@ func (ad *GameLogic) CreateDailyLogFile() {
|
||||
|
||||
filepathname := conf.Server.LogPath + "/" + filename
|
||||
if !ad.FileExist(filepathname) {
|
||||
if ad.Mlogger != nil {
|
||||
ad.Mlogger.Close()
|
||||
err := log.NewDailyLog(now, "Debug", conf.Server.LogPath, l.LstdFlags)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
ad.Mlogger, ad.MloggerErr = log.NewDailyLog(now, "Debug", conf.Server.LogPath, l.LstdFlags)
|
||||
if ad.MloggerErr != nil {
|
||||
log.Debug(ad.MloggerErr.Error())
|
||||
return
|
||||
}
|
||||
log.Export(ad.Mlogger)
|
||||
} else {
|
||||
ad.Mlogger, ad.MloggerErr = log.BindLoggerToFile("Debug", filepathname, l.LstdFlags)
|
||||
log.Export(ad.Mlogger)
|
||||
}
|
||||
ad.Mlogger.Debug("CreateDailyLogFile")
|
||||
|
||||
// Remove logs older than 15 days
|
||||
log.Debug("CreateDailyLogFile")
|
||||
ad.RemoveOldLogs(15)
|
||||
}
|
||||
|
||||
|
||||
@ -32,7 +32,12 @@ type Logger struct {
|
||||
baseFile *os.File
|
||||
}
|
||||
|
||||
var gloggerLock sync.Mutex
|
||||
var gLogger, _ = New("debug", "", log.LstdFlags)
|
||||
|
||||
func New(strLevel string, pathname string, flag int) (*Logger, error) {
|
||||
gloggerLock.Lock()
|
||||
defer gloggerLock.Unlock()
|
||||
// level
|
||||
var level int
|
||||
switch strings.ToLower(strLevel) {
|
||||
@ -53,7 +58,6 @@ func New(strLevel string, pathname string, flag int) (*Logger, error) {
|
||||
var baseFile *os.File
|
||||
if pathname != "" {
|
||||
now := time.Now()
|
||||
|
||||
filename := fmt.Sprintf("%d%02d%02d.log",
|
||||
now.Year(),
|
||||
now.Month(),
|
||||
@ -64,7 +68,6 @@ func New(strLevel string, pathname string, flag int) (*Logger, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
baseLogger = log.New(file, "", flag)
|
||||
baseFile = file
|
||||
} else {
|
||||
@ -80,7 +83,9 @@ func New(strLevel string, pathname string, flag int) (*Logger, error) {
|
||||
return logger, nil
|
||||
}
|
||||
|
||||
func NewDailyLog(now time.Time, strLevel string, pathname string, flag int) (*Logger, error) {
|
||||
func NewDailyLog(now time.Time, strLevel string, pathname string, flag int) error {
|
||||
gloggerLock.Lock()
|
||||
defer gloggerLock.Unlock()
|
||||
// level
|
||||
var level int
|
||||
switch strings.ToLower(strLevel) {
|
||||
@ -93,15 +98,13 @@ func NewDailyLog(now time.Time, strLevel string, pathname string, flag int) (*Lo
|
||||
case "fatal":
|
||||
level = fatalLevel
|
||||
default:
|
||||
return nil, errors.New("unknown level: " + strLevel)
|
||||
return errors.New("unknown level: " + strLevel)
|
||||
}
|
||||
|
||||
// logger
|
||||
var baseLogger *log.Logger
|
||||
var baseFile *os.File
|
||||
if pathname != "" {
|
||||
// now := time.Now()
|
||||
|
||||
filename := fmt.Sprintf("%d%02d%02d.log",
|
||||
now.Year(),
|
||||
now.Month(),
|
||||
@ -109,7 +112,7 @@ func NewDailyLog(now time.Time, strLevel string, pathname string, flag int) (*Lo
|
||||
|
||||
file, err := os.Create(path.Join(pathname, filename))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return err
|
||||
}
|
||||
|
||||
baseLogger = log.New(file, "", flag)
|
||||
@ -119,16 +122,16 @@ func NewDailyLog(now time.Time, strLevel string, pathname string, flag int) (*Lo
|
||||
}
|
||||
|
||||
// new
|
||||
logger := new(Logger)
|
||||
logger.level = level
|
||||
logger.baseLogger = baseLogger
|
||||
logger.baseFile = baseFile
|
||||
gLogger.level = level
|
||||
gLogger.baseLogger = baseLogger
|
||||
gLogger.baseFile = baseFile
|
||||
|
||||
return logger, nil
|
||||
return nil
|
||||
}
|
||||
|
||||
func BindLoggerToFile(strLevel string, pathName string, flag int) (*Logger, error) {
|
||||
|
||||
gloggerLock.Lock()
|
||||
defer gloggerLock.Unlock()
|
||||
var level int
|
||||
switch strings.ToLower(strLevel) {
|
||||
case "debug":
|
||||
@ -153,12 +156,11 @@ func BindLoggerToFile(strLevel string, pathName string, flag int) (*Logger, erro
|
||||
baseLogger = log.New(file, "", flag)
|
||||
baseFile = file
|
||||
|
||||
logger := new(Logger)
|
||||
logger.level = level
|
||||
logger.baseLogger = baseLogger
|
||||
logger.baseFile = baseFile
|
||||
gLogger.level = level
|
||||
gLogger.baseLogger = baseLogger
|
||||
gLogger.baseFile = baseFile
|
||||
|
||||
return logger, nil
|
||||
return gLogger, nil
|
||||
}
|
||||
|
||||
// It's dangerous to call the method on logging
|
||||
@ -203,9 +205,6 @@ func (logger *Logger) Fatal(format string, a ...interface{}) {
|
||||
logger.doPrintf(fatalLevel, printFatalLevel, format, a...)
|
||||
}
|
||||
|
||||
var gLogger, _ = New("debug", "", log.LstdFlags)
|
||||
var gloggerLock sync.Mutex
|
||||
|
||||
// It's dangerous to call the method on logging
|
||||
func Export(logger *Logger) {
|
||||
if logger != nil {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user