refactor:log包增加处理机制
This commit is contained in:
@@ -1,15 +1,9 @@
|
|||||||
package Util
|
package Util
|
||||||
|
|
||||||
import (
|
|
||||||
"log"
|
|
||||||
"os"
|
|
||||||
)
|
|
||||||
|
|
||||||
func getbyte(a byte) int {
|
func getbyte(a byte) int {
|
||||||
x := int(a)
|
x := int(a)
|
||||||
if x > 255 {
|
if x > 255 {
|
||||||
log.Println("INVALID_CHARACTER_ERR: DOM Exception 5")
|
Log.Fatalln("INVALID_CHARACTER_ERR: DOM Exception 5")
|
||||||
os.Exit(1)
|
|
||||||
}
|
}
|
||||||
return x
|
return x
|
||||||
}
|
}
|
||||||
|
|||||||
17
Util/file.go
17
Util/file.go
@@ -1,6 +1,7 @@
|
|||||||
package Util
|
package Util
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bufio"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
@@ -24,7 +25,7 @@ func (*file) Exists(path string) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *file) Read(path string) ([]byte, error) {
|
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 {
|
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 {
|
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 {
|
func (a *file) WriteJson(path string, receiver interface{}) error {
|
||||||
@@ -52,5 +53,15 @@ func (*file) GetRootPath() string {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
ErrHandler(err)
|
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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package Util
|
|||||||
import (
|
import (
|
||||||
"Mmx/Global"
|
"Mmx/Global"
|
||||||
"Mmx/Modles"
|
"Mmx/Modles"
|
||||||
"log"
|
|
||||||
"os"
|
"os"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -24,16 +23,16 @@ func init() {
|
|||||||
Enc: "srun_bx1",
|
Enc: "srun_bx1",
|
||||||
},
|
},
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
log.Println("创建配置文件失败:\n", err.Error())
|
Log.Println("创建配置文件失败:\n", err.Error())
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
log.Println("已生成配置文件,请编辑 'Config.json' 然后重试")
|
Log.Println("已生成配置文件,请编辑 'Config.json' 然后重试")
|
||||||
os.Exit(0)
|
os.Exit(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
var c Modles.Config
|
var c Modles.Config
|
||||||
if err := File.ReadJson(Path, &c); err != nil {
|
if err := File.ReadJson(Path, &c); err != nil {
|
||||||
log.Println("读取配置文件失败:\n", err.Error())
|
Log.Println("读取配置文件失败:\n", err.Error())
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
39
Util/log.go
Normal file
39
Util/log.go
Normal file
@@ -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...)
|
||||||
|
}
|
||||||
@@ -7,7 +7,6 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"log"
|
|
||||||
"os"
|
"os"
|
||||||
"regexp"
|
"regexp"
|
||||||
)
|
)
|
||||||
@@ -51,9 +50,9 @@ func Sha1(content string) string {
|
|||||||
|
|
||||||
func ErrHandler(err error) {
|
func ErrHandler(err error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("运行出错,状态异常")
|
Log.Println("运行出错,状态异常")
|
||||||
if Global.Config.Settings.DemoMode {
|
if Global.Config.Settings.DemoMode {
|
||||||
log.Fatalln(err)
|
Log.Fatalln(err)
|
||||||
}
|
}
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|||||||
15
main.go
15
main.go
@@ -6,27 +6,26 @@ import (
|
|||||||
"Mmx/Util"
|
"Mmx/Util"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
log.Println("Step0: 检查状态…")
|
Util.Log.Println("Step0: 检查状态…")
|
||||||
G := Global.Config.Generate()
|
G := Global.Config.Generate()
|
||||||
|
|
||||||
if Global.Config.Settings.QuitIfNetOk && Util.Checker.NetOk(G.UrlCheckApi) {
|
if Global.Config.Settings.QuitIfNetOk && Util.Checker.NetOk(G.UrlCheckApi) {
|
||||||
log.Println("网络正常,程序退出")
|
Util.Log.Println("网络正常,程序退出")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Println("Step1: 正在获取客户端ip")
|
Util.Log.Println("Step1: 正在获取客户端ip")
|
||||||
{
|
{
|
||||||
body, err := Request.Get(G.UrlLoginPage, nil)
|
body, err := Request.Get(G.UrlLoginPage, nil)
|
||||||
Util.ErrHandler(err)
|
Util.ErrHandler(err)
|
||||||
G.Ip, err = Util.GetIp(body)
|
G.Ip, err = Util.GetIp(body)
|
||||||
Util.ErrHandler(err)
|
Util.ErrHandler(err)
|
||||||
}
|
}
|
||||||
log.Println("Step2: 正在获取Token")
|
Util.Log.Println("Step2: 正在获取Token")
|
||||||
{
|
{
|
||||||
data, err := Request.Get(G.UrlGetChallengeApi, map[string]string{
|
data, err := Request.Get(G.UrlGetChallengeApi, map[string]string{
|
||||||
"callback": "jsonp1583251661367",
|
"callback": "jsonp1583251661367",
|
||||||
@@ -37,7 +36,7 @@ func main() {
|
|||||||
G.Token, err = Util.GetToken(data)
|
G.Token, err = Util.GetToken(data)
|
||||||
Util.ErrHandler(err)
|
Util.ErrHandler(err)
|
||||||
}
|
}
|
||||||
log.Println("Step3: 执行登录…")
|
Util.Log.Println("Step3: 执行登录…")
|
||||||
{
|
{
|
||||||
info, err := json.Marshal(map[string]string{
|
info, err := json.Marshal(map[string]string{
|
||||||
"username": G.Form.UserName,
|
"username": G.Form.UserName,
|
||||||
@@ -76,9 +75,9 @@ func main() {
|
|||||||
Util.ErrHandler(err)
|
Util.ErrHandler(err)
|
||||||
G.LoginResult, err = Util.GetResult(res)
|
G.LoginResult, err = Util.GetResult(res)
|
||||||
Util.ErrHandler(err)
|
Util.ErrHandler(err)
|
||||||
log.Println("登录结果: " + G.LoginResult)
|
Util.Log.Println("登录结果: " + G.LoginResult)
|
||||||
if Global.Config.Settings.DemoMode {
|
if Global.Config.Settings.DemoMode {
|
||||||
log.Println(res)
|
Util.Log.Println(res)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user