/
appbase_log.go
75 lines (63 loc) · 2.25 KB
/
appbase_log.go
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package app
import (
"fmt"
"strings"
)
const (
LogDebugLevel = 0 // 日志等级 : 调试信息
LogInfoLevel = 1 // 日志等级 : 普通信息
LogWarnLevel = 2 // 日志等级 : 警告信息
LogErrorLevel = 3 // 日志等级 : 错误信息
LogFatalLevel = 4 // 日志等级 : 致命信息
LogMaxLevel = 5 // 日志最大等级
LogLimitLevel = LogInfoLevel // 显示这个等级之上的日志(控制台)
LogBuffMax = 20 * 1024 * 1024 // 日志缓冲
)
const (
AppName = "login"
LogBuffSize = 10 * 1024 * 1024
LogDir = "../log"
ProfFile = AppName + "_prof.log"
LogFileName = LogDir + "/" + AppName + ".log"
)
// 线程日志 : 生成日志头
func (this *AppBase) MakeLogHeader() {
this.log_Header[LogDebugLevel] = this.log_TimeString + " [D] "
this.log_Header[LogInfoLevel] = this.log_TimeString + " [I] "
this.log_Header[LogWarnLevel] = this.log_TimeString + " [W] "
this.log_Header[LogErrorLevel] = this.log_TimeString + " [E] "
this.log_Header[LogFatalLevel] = this.log_TimeString + " [F] "
}
// 线程日志 : 调试[D]级别日志
func (this *AppBase) LogDebug(f string, v ...interface{}) {
this.LogBase(LogDebugLevel, fmt.Sprintf(f, v...))
}
// 线程日志 : 信息[I]级别日志
func (this *AppBase) LogInfo(f string, v ...interface{}) {
this.LogBase(LogInfoLevel, fmt.Sprintf(f, v...))
}
// 线程日志 : 警告[W]级别日志
func (this *AppBase) LogWarn(f string, v ...interface{}) {
this.LogBase(LogWarnLevel, fmt.Sprintf(f, v...))
}
// 线程日志 : 错误[E]级别日志
func (this *AppBase) LogError(f string, v ...interface{}) {
this.LogBase(LogErrorLevel, fmt.Sprintf(f, v...))
}
// 线程日志 : 致命[F]级别日志
func (this *AppBase) LogFatal(f string, v ...interface{}) {
this.LogBase(LogFatalLevel, fmt.Sprintf(f, v...))
}
// 线程日志 : 手动分级日志
func (this *AppBase) LogBase(level int, info string) {
if level >= LogDebugLevel && level < LogMaxLevel {
s := this.log_Header[level] + info
s = strings.Replace(s, "\n", "\n"+this.log_Header[level], -1) + "\n"
this.log_FileBuff.WriteString(s)
if level >= LogLimitLevel {
fmt.Print(s)
}
} else {
fmt.Println("LogBase : level failed : ", level)
}
}