tcp server 用于给andriod 客户端定时发送消息
龙赣华
2019-05-23 9206d0d4a009be58b1f3c8fa5ed9ff76481397a6
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
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 := "log/log_record/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 := "log/log_record/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
}