add colored output

This commit is contained in:
Andrii Ursulenko
2023-07-18 13:43:11 +03:00
parent 4cc65afe14
commit 18937e1e4a
6 changed files with 46 additions and 18 deletions
+21 -10
View File
@@ -2,6 +2,7 @@ package common
import (
"fmt"
"github.com/fatih/color"
"os"
"strings"
"sync"
@@ -31,12 +32,18 @@ func LogSuccess(result string) {
func SaveLog() {
for result := range Results {
if Silent == false || strings.Contains(*result, "[+]") || strings.Contains(*result, "[*]") {
fmt.Println(*result)
if !Silent {
if strings.Contains(*result, "[+]") {
color.Green(*result)
} else if strings.Contains(*result, "[*]") {
color.Cyan(*result)
}
}
if IsSave {
WriteFile(*result, Outputfile)
}
LogWG.Done()
}
}
@@ -48,19 +55,23 @@ func WriteFile(result string, filename string) {
fmt.Printf("Open %s error, %v\n", filename, err)
return
}
_, err = fl.Write(text)
fl.Close()
if err != nil {
defer func() {
_ = fl.Close()
}()
if _, err := fl.Write(text); err != nil {
fmt.Printf("Write %s error, %v\n", filename, err)
}
}
func LogError(errinfo interface{}) {
if WaitTime == 0 {
fmt.Printf("已完成 %v/%v %v \n", End, Num, errinfo)
} else if (time.Now().Unix()-LogSucTime) > WaitTime && (time.Now().Unix()-LogErrTime) > WaitTime {
fmt.Printf("已完成 %v/%v %v \n", End, Num, errinfo)
LogErrTime = time.Now().Unix()
if WaitTime == 0 || (time.Now().Unix()-LogSucTime) > WaitTime && (time.Now().Unix()-LogErrTime) > WaitTime {
color.Red(fmt.Sprintf("Completed %v/%v %v \n", End, Num, errinfo))
if WaitTime != 0 {
LogErrTime = time.Now().Unix()
}
}
}