From 4e4cdd35c2fea6b7da4e543d52e0c2a44e487a3c Mon Sep 17 00:00:00 2001 From: Mmx <1624045573@qq.com> Date: Wed, 5 May 2021 10:46:04 +0800 Subject: [PATCH] =?UTF-8?q?refactor:log=E5=8C=85=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=A4=84=E7=90=86=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Util/XBase64.go | 8 +------- Util/file.go | 17 ++++++++++++++--- Util/init.go | 7 +++---- Util/log.go | 39 +++++++++++++++++++++++++++++++++++++++ Util/util.go | 5 ++--- main.go | 15 +++++++-------- 6 files changed, 66 insertions(+), 25 deletions(-) create mode 100644 Util/log.go diff --git a/Util/XBase64.go b/Util/XBase64.go index 4ba8fd6..56b4916 100644 --- a/Util/XBase64.go +++ b/Util/XBase64.go @@ -1,15 +1,9 @@ package Util -import ( - "log" - "os" -) - func getbyte(a byte) int { x := int(a) if x > 255 { - log.Println("INVALID_CHARACTER_ERR: DOM Exception 5") - os.Exit(1) + Log.Fatalln("INVALID_CHARACTER_ERR: DOM Exception 5") } return x } diff --git a/Util/file.go b/Util/file.go index 342555b..57381eb 100644 --- a/Util/file.go +++ b/Util/file.go @@ -1,6 +1,7 @@ package Util import ( + "bufio" "encoding/json" "io/ioutil" "os" @@ -24,7 +25,7 @@ func (*file) Exists(path string) bool { } func (a *file) Read(path string) ([]byte, error) { - return ioutil.ReadFile(a.GetRootPath() + "/" + path) + return ioutil.ReadFile(a.GetRootPath() + path) } func (*file) ReadJson(path string, receiver interface{}) error { @@ -36,7 +37,7 @@ func (*file) ReadJson(path string, receiver interface{}) error { } func (a *file) Write(path string, data []byte) error { - return ioutil.WriteFile(a.GetRootPath()+"/"+path, data, 700) + return ioutil.WriteFile(a.GetRootPath()+path, data, 700) } func (a *file) WriteJson(path string, receiver interface{}) error { @@ -52,5 +53,15 @@ func (*file) GetRootPath() string { if err != nil { ErrHandler(err) } - return filepath.Dir(t) + return filepath.Dir(t) + "/" +} + +func (a *file) Add(path string, c string) error { + file, err := os.OpenFile(a.GetRootPath()+path, os.O_WRONLY|os.O_CREATE, 700) + defer file.Close() + if err != nil { + return err + } + _, err = bufio.NewWriter(file).WriteString(c + "\n") + return err } diff --git a/Util/init.go b/Util/init.go index 21f67fa..1767228 100644 --- a/Util/init.go +++ b/Util/init.go @@ -3,7 +3,6 @@ package Util import ( "Mmx/Global" "Mmx/Modles" - "log" "os" ) @@ -24,16 +23,16 @@ func init() { Enc: "srun_bx1", }, }); err != nil { - log.Println("创建配置文件失败:\n", err.Error()) + Log.Println("创建配置文件失败:\n", err.Error()) os.Exit(1) } - log.Println("已生成配置文件,请编辑 'Config.json' 然后重试") + Log.Println("已生成配置文件,请编辑 'Config.json' 然后重试") os.Exit(0) } var c Modles.Config if err := File.ReadJson(Path, &c); err != nil { - log.Println("读取配置文件失败:\n", err.Error()) + Log.Println("读取配置文件失败:\n", err.Error()) os.Exit(1) } diff --git a/Util/log.go b/Util/log.go new file mode 100644 index 0000000..58103ad --- /dev/null +++ b/Util/log.go @@ -0,0 +1,39 @@ +package Util + +import ( + "Mmx/Global" + "fmt" + "log" + "reflect" +) + +type loG struct{} + +var Log loG + +func (loG) WriteLog(name string, a ...interface{}) { + for _, v := range a { + var t string + switch reflect.TypeOf(v).Kind() { + case reflect.String: + t = v.(string) + case reflect.Interface: + t = v.(error).Error() + default: + t = fmt.Sprint(v) + } + _ = File.Add(name, t) + } +} + +func (c loG) Println(a ...interface{}) { + if Global.Config.Settings.DemoMode { + c.WriteLog("Login.loG", a...) + } + log.Println(a...) +} + +func (c loG) Fatalln(a ...interface{}) { + c.WriteLog("LoginError.loG", a...) + log.Fatalln(a...) +} diff --git a/Util/util.go b/Util/util.go index 2d6f6f0..ab5e51c 100644 --- a/Util/util.go +++ b/Util/util.go @@ -7,7 +7,6 @@ import ( "errors" "fmt" "io" - "log" "os" "regexp" ) @@ -51,9 +50,9 @@ func Sha1(content string) string { func ErrHandler(err error) { if err != nil { - log.Println("运行出错,状态异常") + Log.Println("运行出错,状态异常") if Global.Config.Settings.DemoMode { - log.Fatalln(err) + Log.Fatalln(err) } os.Exit(1) } diff --git a/main.go b/main.go index f4110e8..101326e 100644 --- a/main.go +++ b/main.go @@ -6,27 +6,26 @@ import ( "Mmx/Util" "encoding/json" "fmt" - "log" "time" ) func main() { - log.Println("Step0: 检查状态…") + Util.Log.Println("Step0: 检查状态…") G := Global.Config.Generate() if Global.Config.Settings.QuitIfNetOk && Util.Checker.NetOk(G.UrlCheckApi) { - log.Println("网络正常,程序退出") + Util.Log.Println("网络正常,程序退出") return } - log.Println("Step1: 正在获取客户端ip") + Util.Log.Println("Step1: 正在获取客户端ip") { body, err := Request.Get(G.UrlLoginPage, nil) Util.ErrHandler(err) G.Ip, err = Util.GetIp(body) Util.ErrHandler(err) } - log.Println("Step2: 正在获取Token") + Util.Log.Println("Step2: 正在获取Token") { data, err := Request.Get(G.UrlGetChallengeApi, map[string]string{ "callback": "jsonp1583251661367", @@ -37,7 +36,7 @@ func main() { G.Token, err = Util.GetToken(data) Util.ErrHandler(err) } - log.Println("Step3: 执行登录…") + Util.Log.Println("Step3: 执行登录…") { info, err := json.Marshal(map[string]string{ "username": G.Form.UserName, @@ -76,9 +75,9 @@ func main() { Util.ErrHandler(err) G.LoginResult, err = Util.GetResult(res) Util.ErrHandler(err) - log.Println("登录结果: " + G.LoginResult) + Util.Log.Println("登录结果: " + G.LoginResult) if Global.Config.Settings.DemoMode { - log.Println(res) + Util.Log.Println(res) } } }