-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconsole.go
66 lines (53 loc) · 1.62 KB
/
console.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
package glog
import (
"fmt"
"os"
"time"
)
// ConsoleLogger 往终端打印日志
type ConsoleLogger struct {
level Level
}
// NewConsoleLog 是一个生成文件日志结构体的构造函数 初始化日志文件
func NewConsoleLog(leverStr string) *ConsoleLogger {
logLevel := parseLogLevel(leverStr)
cl := &ConsoleLogger{
level: logLevel,
}
return cl
}
//将公共的记录日志的方法封装成一个单独的方法
func (c *ConsoleLogger) log(level Level, format string, args ...any) {
if c.level > level {
return
}
msg := fmt.Sprintf(format, args...)
_, fileName, lineNum := getCallerInfo(3)
logLevelStr := getLevelStr(level) //日志级别
nowTimeStr := time.Now().Format("[2006-01-02 15:04:05.000]")
//logMsg := fmt.Sprintf("%s Level:[%s] func:[%s:%s] num:%d, %s", nowTimeStr, logLevelStr, funcName, fileName, lineNum, msg)
logMsg := fmt.Sprintf("%s Level:[%s] [%s]--> %d , %s", nowTimeStr, logLevelStr, fileName, lineNum, msg)
fmt.Fprintln(os.Stdout, logMsg)
}
//Debug 日志
func (c *ConsoleLogger) Debug(format string, args ...any) {
c.log(levelDebug, format, args...)
}
func (c *ConsoleLogger) Info(format string, args ...any) {
c.log(levelInfo, format, args...)
}
func (c *ConsoleLogger) Warning(format string, args ...any) {
//往文件写日志
c.log(levelWarning, format, args...)
}
func (c *ConsoleLogger) Error(format string, args ...any) {
//往文件写日志
c.log(levelError, format, args...)
}
func (c *ConsoleLogger) Fatal(format string, args ...any) {
//往文件写日志
c.log(levelFatal, format, args...)
}
//Close 终端标准输出不需要关闭
func (c *ConsoleLogger) Close() {
}