tcp server 用于给andriod 客户端定时发送消息
liuxiaolong
2019-05-31 c7cfafb13d36512f3e73457e94c26e31dedf5f7a
log/log.go
New file
@@ -0,0 +1,50 @@
package log
import (
   "io/ioutil"
   "time"
   rotatelogs "github.com/lestrrat-go/file-rotatelogs"
   "github.com/rifflock/lfshook"
   "github.com/sirupsen/logrus"
)
var Log *logrus.Logger
func init() {
   Log = NewLogger()
   Log.SetLevel(logrus.ErrorLevel)
}
func NewLogger() *logrus.Logger {
   if Log != nil {
      return Log
   }
   infopath := "logs/info.log"
   infowriter, _ := rotatelogs.New(
      infopath+".%Y%m%d%H%M",
      rotatelogs.WithLinkName(infopath),
      rotatelogs.WithMaxAge(30*24*time.Hour),
      rotatelogs.WithRotationTime(24*time.Hour),
   )
   errorpath := "logs/error.log"
   errorwriter, _ := rotatelogs.New(
      errorpath+".%Y%m%d%H%M",
      rotatelogs.WithLinkName(errorpath),
      rotatelogs.WithMaxAge(30*24*time.Hour),
      rotatelogs.WithRotationTime(24*time.Hour),
   )
   Log = logrus.New()
   Log.SetOutput(ioutil.Discard)
   Log.Hooks.Add(lfshook.NewHook(
      lfshook.WriterMap{
         logrus.InfoLevel:  infowriter,
         logrus.ErrorLevel: errorwriter,
      },
      &logrus.JSONFormatter{},
   ))
   return Log
}