Files
log-node/main.go
2024-05-27 10:20:02 +08:00

57 lines
1.0 KiB
Go

package main
import (
"fmt"
"os"
"path/filepath"
"regexp"
)
func main() {
dir := C.Dir
match := C.Match
url := C.Url
key := C.Key
info := C.Info
regex := regexp.MustCompile(match)
dirs, err := os.ReadDir(dir)
if err != nil {
fmt.Println(err)
return
}
var okList []string
for _, item := range dirs {
if regex.MatchString(item.Name()) {
file, err := os.Open(filepath.Join(dir, item.Name()))
if err != nil {
continue
}
var logTexts []string
ReadAfterSeq(file, 0, '\n', func(bytes []byte) {
logTexts = append(logTexts, string(bytes))
})
file.Close()
for _, text := range logTexts {
if calculateSimilaritys(1, text, okList...) {
continue
}
err := requestDingApi(url, message{
Text: text,
Filename: item.Name(),
Key: key,
Info: info,
})
if err != nil {
fmt.Println(err)
fmt.Println("日志服务器关闭")
return
}
okList = append(okList, text)
}
}
}
fmt.Println("完成上报数量:", len(okList))
}