Browse Source

default log

ls 4 years ago
parent
commit
ef351ccd1b
1 changed files with 70 additions and 0 deletions
  1. 70 0
      logger.go

+ 70 - 0
logger.go

@@ -3,6 +3,7 @@ package myth
 import (
 	"io"
 	"log"
+	"os"
 )
 
 // Logger logger
@@ -10,6 +11,75 @@ type Logger struct {
 	logger *log.Logger
 }
 
+var (
+	defLog *Logger
+	defFP  *os.File
+)
+
+// NewDefaultLogger defult logger
+func NewDefaultLogger(path string) (*Logger, error) {
+	var err error
+	fp := &os.File{}
+	if fp, err = os.OpenFile(path, os.O_RDWR|os.O_APPEND|os.O_CREATE, 0666); err != nil {
+		return nil, err
+	}
+
+	defLog = NewLogger(fp)
+	defFP = fp
+
+	return defLog, nil
+}
+
+// ReopenDefaultLogger re open default logger
+func ReopenDefaultLogger(path string) (*Logger, error) {
+	var err error
+	fp := &os.File{}
+	if fp, err = os.OpenFile(path, os.O_RDWR|os.O_APPEND|os.O_CREATE, 0666); err != nil {
+		return nil, err
+	}
+
+	if defLog == nil {
+		defLog = NewLogger(fp)
+	}
+
+	return defLog, nil
+}
+
+// CloseDefaultLogger close
+func CloseDefaultLogger() error {
+	return defFP.Close()
+}
+
+// LogDebug debug
+func LogDebug(v ...interface{}) {
+	defLog.logger.SetPrefix("[DEBUG]")
+	defLog.logger.Println(v...)
+}
+
+// LogInfo info
+func LogInfo(v ...interface{}) {
+	defLog.logger.SetPrefix("[INFO]")
+	defLog.logger.Println(v...)
+}
+
+// LogWarn warn
+func LogWarn(v ...interface{}) {
+	defLog.logger.SetPrefix("[Warn]")
+	defLog.logger.Println(v...)
+}
+
+// LogErr err
+func LogErr(v ...interface{}) {
+	defLog.logger.SetPrefix("[Err]")
+	defLog.logger.Println(v...)
+}
+
+// LogAlert alert
+func LogAlert(v ...interface{}) {
+	defLog.logger.SetPrefix("[Alert]")
+	defLog.logger.Println(v...)
+}
+
 // NewLogger new logger
 func NewLogger(out io.Writer) *Logger {
 	logger := log.New(out, "[INFO]", log.Ldate|log.Ltime)