tcp server 用于给andriod 客户端定时发送消息
liuxiaolong
2019-11-25 80b0cf2ac6362591efb7306e88fa69e051fb9d10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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 SetLogLevel(level string){
    if level == "ErrorLevel" {
        Log.SetLevel(logrus.ErrorLevel)
    } else if level == "InfoLevel" {
        Log.SetLevel(logrus.InfoLevel)
    } else {
        Log.SetLevel(logrus.InfoLevel)
    }
}
 
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
}