Update log.go

This commit is contained in:
影舞者 2023-11-13 11:41:26 +08:00 committed by GitHub
parent 5d154ce6a1
commit 989389fd52
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2,12 +2,11 @@ package common
import ( import (
"fmt" "fmt"
"github.com/fatih/color"
"os" "os"
"strings" "strings"
"sync" "sync"
"time" "time"
"github.com/fatih/color"
) )
var Num int64 var Num int64
@ -18,8 +17,8 @@ var LogSucTime int64
var LogErrTime int64 var LogErrTime int64
var WaitTime int64 var WaitTime int64
var Silent bool var Silent bool
var Nocolor bool
var LogWG sync.WaitGroup var LogWG sync.WaitGroup
var Outputfile string
func init() { func init() {
LogSucTime = time.Now().Unix() LogSucTime = time.Now().Unix()
@ -35,17 +34,21 @@ func LogSuccess(result string) {
func SaveLog() { func SaveLog() {
for result := range Results { for result := range Results {
if !Silent { if !Silent {
if strings.Contains(*result, "[+]") { if Nocolor {
color.Green(*result) fmt.Println(*result)
} else if strings.Contains(*result, "[*]") { } else {
color.Cyan(*result) if strings.HasPrefix(*result, "[+] InfoScan") {
color.Green(*result)
} else if strings.HasPrefix(*result, "[+]") {
color.Red(*result)
} else {
fmt.Println(*result)
}
} }
} }
if IsSave { if IsSave {
WriteFile(*result, Outputfile) WriteFile(*result, Outputfile)
} }
LogWG.Done() LogWG.Done()
} }
} }
@ -57,23 +60,19 @@ func WriteFile(result string, filename string) {
fmt.Printf("Open %s error, %v\n", filename, err) fmt.Printf("Open %s error, %v\n", filename, err)
return return
} }
_, err = fl.Write(text)
defer func() { fl.Close()
_ = fl.Close() if err != nil {
}()
if _, err := fl.Write(text); err != nil {
fmt.Printf("Write %s error, %v\n", filename, err) fmt.Printf("Write %s error, %v\n", filename, err)
} }
} }
func LogError(errinfo interface{}) { func LogError(errinfo interface{}) {
if WaitTime == 0 || (time.Now().Unix()-LogSucTime) > WaitTime && (time.Now().Unix()-LogErrTime) > WaitTime { if WaitTime == 0 {
color.Red(fmt.Sprintf("Completed %v/%v %v \n", End, Num, errinfo)) fmt.Printf("已完成 %v/%v %v \n", End, Num, errinfo)
} else if (time.Now().Unix()-LogSucTime) > WaitTime && (time.Now().Unix()-LogErrTime) > WaitTime {
if WaitTime != 0 { fmt.Printf("已完成 %v/%v %v \n", End, Num, errinfo)
LogErrTime = time.Now().Unix() LogErrTime = time.Now().Unix()
}
} }
} }