Skip to content

Commit 447251d

Browse files
committed
[*]优化slog模块代码使其更美观
1 parent ff52623 commit 447251d

File tree

3 files changed

+49
-34
lines changed

3 files changed

+49
-34
lines changed

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module kscan
22

3-
go 1.14
3+
go 1.16
44

55
require (
66
github.com/PuerkitoBio/goquery v1.6.1

kscan.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,12 @@ func Init() {
158158
//参数初始化
159159
param.LoadOsArgs()
160160
//日志初始化
161-
slog.Init(param.Debug(), param.Encoding())
161+
slog.SetLogger(func() slog.LEVEL {
162+
if param.Debug() {
163+
return slog.DEBUG
164+
}
165+
return slog.INFO
166+
}(), param.Encoding())
162167
//输出Banner
163168
param.PrintBanner()
164169
//参数合法性校验

lib/slog/slog.go

+42-32
Original file line numberDiff line numberDiff line change
@@ -15,42 +15,52 @@ import (
1515
var this logger
1616
var splitStr = "> "
1717

18-
type logger struct {
19-
info *log.Logger
20-
warning *log.Logger
21-
debug *log.Logger
22-
data *log.Logger
23-
error *log.Logger
24-
encoding string
25-
//fooLine *log.Logger
26-
}
27-
28-
func Init(Debug bool, encoding string) {
29-
this.info = log.New(os.Stdout, "\r[+]", log.Ldate|log.Ltime)
30-
this.warning = log.New(os.Stdout, "\r[*]", log.Ldate|log.Ltime)
31-
this.error = log.New(io.MultiWriter(os.Stderr), "\rError:", 0)
18+
type (
19+
LEVEL int
20+
21+
logger struct {
22+
info *log.Logger
23+
warning *log.Logger
24+
debug *log.Logger
25+
data *log.Logger
26+
error *log.Logger
27+
encoding string
28+
//fooLine *log.Logger
29+
}
30+
)
31+
32+
const (
33+
DEBUG LEVEL = iota
34+
INFO
35+
WARN
36+
ERROR
37+
NONE
38+
)
39+
40+
func init() {
41+
this.info = log.New(ioutil.Discard, "", 0)
42+
this.warning = log.New(ioutil.Discard, "", 0)
43+
this.error = log.New(ioutil.Discard, "", 0)
3244
this.data = log.New(os.Stdout, "\r", 0)
33-
if Debug {
45+
}
46+
47+
func SetLogger(level LEVEL, encoding string) {
48+
if level <= ERROR {
49+
this.error = log.New(io.MultiWriter(os.Stderr), "\rError:", 0)
50+
}
51+
if level <= WARN {
52+
this.warning = log.New(os.Stdout, "\r[*]", log.Ldate|log.Ltime)
53+
}
54+
if level <= INFO {
55+
this.info = log.New(os.Stdout, "\r[+]", log.Ldate|log.Ltime)
56+
}
57+
if level <= DEBUG {
3458
this.debug = log.New(os.Stdout, "\r[-]", log.Ldate|log.Ltime)
35-
} else {
36-
this.debug = log.New(ioutil.Discard, "\r[-]", log.Ldate|log.Ltime)
3759
}
38-
60+
if level <= NONE {
61+
//nothing
62+
}
3963
this.encoding = encoding
40-
//this.fooline = log.New(os.Stdout, "[*]", 0)
41-
//infoFile,err:=os.OpenFile("/data/service_logs/info.log",os.O_CREATE|os.O_WRONLY|os.O_APPEND,0666)
42-
//warnFile,err:=os.OpenFile("/data/service_logs/warn.log",os.O_CREATE|os.O_WRONLY|os.O_APPEND,0666)
43-
//errFile,err:=os.OpenFile("/data/service_logs/errors.log",os.O_CREATE|os.O_WRONLY|os.O_APPEND,0666)
44-
//
45-
//if infoFile!=nil || warnFile != nil || err!=nil{
46-
// log.Fatalln("打开日志文件失败:",err)
47-
//}
48-
//Info = log.New(os.Stdout, "[*]", log.Ldate|log.Ltime)
49-
//Warning = log.New(os.Stdout, "[*]", log.Ldate|log.Ltime)
50-
//Error = log.New(io.MultiWriter(os.Stderr,errFile),"Error:",log.Ldate | log.Ltime | log.Lshortfile)
51-
//Info = log.New(io.MultiWriter(os.Stderr,infoFile),"Info:",log.Ldate | log.Ltime | log.Lshortfile)
52-
//Warning = log.New(io.MultiWriter(os.Stderr,warnFile),"Warning:",log.Ldate | log.Ltime | log.Lshortfile)
53-
//Error = log.New(io.MultiWriter(os.Stderr,errFile),"Error:",log.Ldate | log.Ltime | log.Lshortfile)
5464
}
5565

5666
func (t *logger) Data(s string) {

0 commit comments

Comments
 (0)