Skip to content
This repository was archived by the owner on Mar 18, 2022. It is now read-only.

Commit d673568

Browse files
author
will_wang
committed
refactor and remove unused
1 parent 4b4a2c3 commit d673568

File tree

21 files changed

+176
-330
lines changed

21 files changed

+176
-330
lines changed

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ _obj
88
_test
99

1010
# Architecture specific extensions/prefixes
11-
*.[568vq]
12-
[568vq].out
1311

1412
*.cgo1.go
1513
*.cgo2.c
@@ -23,3 +21,5 @@ _testmain.go
2321

2422
*.vscode
2523
.idea
24+
*.log
25+
vendor/

README.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
# log4go
22

3-
轻量级log模块,源于google的一项log工程,官方已经停止维护更新,这里fork一份自用。
3+
Lightweight log module, derived from a Google log project, officially has stopped maintenance update, here fork a copy of your own.
44

5-
>with go1.14 and support go mod
5+
>with go1.16+ and support go mod
66
77
### Install
88

9-
`go get github.com/kdpujie/log4go`
9+
`go get github.com/imb2022/log4go`
1010

1111
### Features
1212

13-
* 日志输出到文件,支持按日期对文件进行分割
14-
* 日志输出到控制台
15-
* 支持syslog协议.
16-
* 支持写入阿里云日志服务
13+
* logs can be output to files and files can be divided by date
14+
* logs can output to the console
15+
* supports the syslog protocol

aliyun_loghub_writer.go

Lines changed: 0 additions & 137 deletions
This file was deleted.

config.go

Lines changed: 41 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"log"
77
"strings"
88

9-
"github.com/kdpujie/log4go/util"
9+
"github.com/imb2022/log4go/util"
1010
)
1111

1212
// GlobalLevel global level
@@ -42,21 +42,49 @@ type ConfAliLogHubWriter struct {
4242

4343
// LogConfig log config
4444
type LogConfig struct {
45-
Level string `json:"level" mapstructure:"level"`
46-
FullPath bool `json:"full_path" mapstructure:"full_path"`
47-
FileWriter ConfFileWriter `json:"file_writer" mapstructure:"file_writer"`
48-
ConsoleWriter ConfConsoleWriter `json:"console_writer" mapstructure:"console_writer"`
49-
AliLogHubWriter ConfAliLogHubWriter `json:"ali_log_hub_writer" mapstructure:"ali_log_hub_writer"`
50-
KafKaWriter ConfKafKaWriter `json:"kafka_writer" mapstructure:"kafka_writer"`
45+
// global level, maybe override by real minimum multi writer level
46+
Level string `json:"level" mapstructure:"level"`
47+
FullPath bool `json:"full_path" mapstructure:"full_path"`
48+
FileWriter ConfFileWriter `json:"file_writer" mapstructure:"file_writer"`
49+
ConsoleWriter ConfConsoleWriter `json:"console_writer" mapstructure:"console_writer"`
50+
KafKaWriter ConfKafKaWriter `json:"kafka_writer" mapstructure:"kafka_writer"`
5151
}
5252

53-
// SetupLog setup log
53+
// SetupLog setup log, caller shall use this method
5454
func SetupLog(lc LogConfig) (err error) {
55-
// 全局配置
55+
// global config
5656
GlobalLevel = getLevel(lc.Level)
5757

58+
// writer enable
59+
// 1. if not set level, use global level;
60+
// 2. if set level, use min level
61+
validGlobalMinLevel := FATAL // default max level
62+
validGlobalMinLevelBy := "global"
63+
64+
if lc.FileWriter.Enable {
65+
validGlobalMinLevel = util.MinInt(getLevel0(lc.FileWriter.Level, GlobalLevel), validGlobalMinLevel)
66+
if validGlobalMinLevel == getLevel0(lc.FileWriter.Level, GlobalLevel) {
67+
validGlobalMinLevelBy = "file_writer"
68+
}
69+
}
70+
71+
if lc.ConsoleWriter.Enable {
72+
validGlobalMinLevel = util.MinInt(getLevel0(lc.ConsoleWriter.Level, GlobalLevel), validGlobalMinLevel)
73+
if validGlobalMinLevel == getLevel0(lc.ConsoleWriter.Level, GlobalLevel) {
74+
validGlobalMinLevelBy = "console_writer"
75+
}
76+
}
77+
78+
if lc.KafKaWriter.Enable {
79+
validGlobalMinLevel = util.MinInt(getLevel0(lc.KafKaWriter.Level, GlobalLevel), validGlobalMinLevel)
80+
if validGlobalMinLevel == getLevel0(lc.KafKaWriter.Level, GlobalLevel) {
81+
validGlobalMinLevelBy = "kafka_writer"
82+
}
83+
}
84+
5885
fullPath := lc.FullPath
5986
ShowFullPath(fullPath)
87+
SetLevel(validGlobalMinLevel)
6088

6189
if lc.FileWriter.Enable {
6290
w := NewFileWriter()
@@ -74,25 +102,13 @@ func SetupLog(lc LogConfig) (err error) {
74102
Register(w)
75103
}
76104

77-
if lc.AliLogHubWriter.Enable {
78-
w := NewAliLogHubWriter(lc.AliLogHubWriter.BufSize)
79-
if lc.AliLogHubWriter.LogSource == "" {
80-
lc.AliLogHubWriter.LogSource = util.GetLocalIpByTcp()
81-
}
82-
w.level = getLevel0(lc.AliLogHubWriter.Level, GlobalLevel)
83-
w.SetLog(lc.AliLogHubWriter.LogName, lc.AliLogHubWriter.LogSource)
84-
w.SetProject(lc.AliLogHubWriter.ProjectName, lc.AliLogHubWriter.StoreName)
85-
w.SetEndpoint(lc.AliLogHubWriter.Endpoint)
86-
w.SetAccessKey(lc.AliLogHubWriter.AccessKeyId, lc.AliLogHubWriter.AccessKeySecret)
87-
Register(w)
88-
}
89-
90105
if lc.KafKaWriter.Enable {
91106
w := NewKafKaWriter(&lc.KafKaWriter)
92107
w.level = getLevel0(lc.KafKaWriter.Level, GlobalLevel)
93108
Register(w)
94109
}
95-
// 全局配置
110+
111+
log.Printf("validGlobalLevel(min:%v, by:%v)", validGlobalMinLevel, validGlobalMinLevelBy)
96112
return nil
97113
}
98114

@@ -113,13 +129,13 @@ func getLevel(flag string) int {
113129
return getLevel0(flag, DEBUG)
114130
}
115131

116-
// 默认为Debug模式
132+
// default DEBUG
117133
func getLevel0(flag string, defaultFlag int) int {
118134
for i, f := range LevelFlags {
119135
if strings.TrimSpace(strings.ToUpper(flag)) == f {
120136
return i
121137
}
122138
}
123-
log.Printf("[ERROR] 未找到合适的日志级别[%s],使用默认值:%d\n", flag, defaultFlag)
139+
log.Printf("[log4go] WARN, no match level for: %v, use default level: %d\n", flag, defaultFlag)
124140
return defaultFlag
125141
}

examples/conf/log.json

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,6 @@
1111
"enable": true,
1212
"color": true
1313
},
14-
"ali_log_hub_writer": {
15-
"level": "debug",
16-
"enable": false,
17-
"log_name": "",
18-
"project_name": "",
19-
"endpoint": "",
20-
"access_key_id": "",
21-
"access_key_secret": "",
22-
"store_name": "dsp_syslog",
23-
"buf_size": 1000
24-
},
2514
"kafka_writer": {
2615
"level": "ERROR",
2716
"on": false,

examples/conf/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55
"fmt"
66
"time"
77

8-
log "github.com/kdpujie/log4go"
8+
log "github.com/imb2022/log4go"
99
)
1010

1111
func main() {

examples/console/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package main
22

33
import (
4-
log "github.com/kdpujie/log4go"
4+
log "github.com/imb2022/log4go"
55
)
66

77
// SetLog set logger
@@ -17,7 +17,7 @@ func main() {
1717
SetLog()
1818
defer log.Close()
1919

20-
var name = "skoo"
20+
var name = "xwi88"
2121
log.Debug("log4go by %s", name)
2222
log.Info("log4go by %s", name)
2323
log.Warn("log4go by %s", name)

examples/file/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import (
44
"fmt"
55
"time"
66

7-
log "github.com/kdpujie/log4go"
7+
log "github.com/imb2022/log4go"
88
)
99

1010
func SetLog() {
@@ -30,7 +30,7 @@ func main() {
3030
SetLog()
3131
defer log.Close()
3232

33-
var name = "skoo"
33+
var name = "xwi88"
3434

3535
for {
3636
log.Debug("log4go by %s", name)

examples/kafka/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package main
33
import (
44
"time"
55

6-
log "github.com/kdpujie/log4go"
7-
"github.com/kdpujie/log4go/util"
6+
log "github.com/imb2022/log4go"
7+
"github.com/imb2022/log4go/util"
88
)
99

1010
// SetLog set logger

examples/logger/main.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package main
33
import (
44
"fmt"
55

6-
"github.com/kdpujie/log4go"
6+
"github.com/imb2022/log4go"
77
)
88

99
func SetLog() (logger *log4go.Logger) {
@@ -15,15 +15,15 @@ func SetLog() (logger *log4go.Logger) {
1515

1616
logger = log4go.NewLogger()
1717
logger.Register(w)
18-
logger.SetLevel(log4go.ERROR)
18+
logger.SetLevel(log4go.DEBUG) // global min level
1919
return
2020
}
2121

2222
func main() {
2323
logger := SetLog()
2424
defer logger.Close()
2525

26-
var name = "skoo"
26+
var name = "xwi88"
2727
logger.Debug("log4go by %s", name)
2828
logger.Info("log4go by %s", name)
2929
logger.Warn("log4go by %s", name)

0 commit comments

Comments
 (0)