mirror of
https://github.com/ManyakRus/telegram_loki.git
synced 2025-01-20 09:09:25 +02:00
сделал DeveloperName
This commit is contained in:
parent
cdd755f66e
commit
de09e82e9a
@ -1 +1 @@
|
||||
2024-11-07 07:04:59.532
|
||||
2024-11-07 10:31:28.391
|
2
bin/sql/scripts.txt
Normal file
2
bin/sql/scripts.txt
Normal file
@ -0,0 +1,2 @@
|
||||
{
|
||||
}
|
@ -1 +1 @@
|
||||
00163
|
||||
00165
|
@ -18,7 +18,7 @@ func main() {
|
||||
func StartApp() {
|
||||
config_main.LoadENV_or_SettingsTXT()
|
||||
config.FillSettings()
|
||||
load_json.LoadJSON()
|
||||
load_json.LoadJSON_All()
|
||||
|
||||
stopapp.StartWaitStop()
|
||||
|
||||
|
@ -4,34 +4,56 @@ import (
|
||||
"encoding/json"
|
||||
"github.com/ManyakRus/starter/log"
|
||||
"github.com/ManyakRus/starter/micro"
|
||||
"github.com/ManyakRus/telegram_loki/internal/config"
|
||||
"github.com/ManyakRus/telegram_loki/internal/types"
|
||||
"os"
|
||||
)
|
||||
|
||||
// LoadJSON - загружает 2 файла в формате .json в map
|
||||
func LoadJSON() {
|
||||
// LoadJSON_All - загружает 2 файла в формате .json в map
|
||||
func LoadJSON_All() {
|
||||
var err error
|
||||
dir := micro.ProgramDir_bin()
|
||||
|
||||
log.Info("app directory: ", dir)
|
||||
|
||||
//главный файл
|
||||
//services.txt
|
||||
FileName := dir + "settings" + micro.SeparatorFile() + "services.txt"
|
||||
err = LoadJSON_from_file(FileName)
|
||||
err = LoadJSON_Services(FileName)
|
||||
if err != nil {
|
||||
log.Panic("LoadJSON_Services() error: ", err)
|
||||
}
|
||||
|
||||
//дополнительный файл, необязательный
|
||||
//services_add.txt, дополнительный файл, необязательный
|
||||
FileName = dir + "settings" + micro.SeparatorFile() + "services_add.txt"
|
||||
ok, err := micro.FileExists(FileName)
|
||||
if ok == true {
|
||||
err = LoadJSON_from_file(FileName)
|
||||
err = LoadJSON_Services(FileName)
|
||||
if err != nil {
|
||||
log.Debug("LoadJSON_Services() warning: ", err)
|
||||
}
|
||||
}
|
||||
|
||||
//scripts.txt
|
||||
FileName = dir + config.Settings.SQL_FILES_FOLDER + micro.SeparatorFile() + "scripts.txt"
|
||||
err = LoadJSON_SQL(FileName)
|
||||
if err != nil {
|
||||
|
||||
log.Panic("LoadJSON_Services() error: ", err)
|
||||
}
|
||||
|
||||
//scripts_add.txt, дополнительный файл, необязательный
|
||||
FileName = dir + config.Settings.SQL_FILES_FOLDER + micro.SeparatorFile() + "scripts_add.txt"
|
||||
ok, err = micro.FileExists(FileName)
|
||||
if ok == true {
|
||||
err = LoadJSON_SQL(FileName)
|
||||
if err != nil {
|
||||
log.Debug("LoadJSON_Services() warning: ", err)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func LoadJSON_from_file(FileName string) error {
|
||||
// LoadJSON_Services - загружает файл в формате .json в map, services.txt и services_add.txt
|
||||
func LoadJSON_Services(FileName string) error {
|
||||
var err error
|
||||
|
||||
//чтение файла
|
||||
@ -55,3 +77,29 @@ func LoadJSON_from_file(FileName string) error {
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
// LoadJSON_SQL - загружает файл в формате .json в map, services.txt и services_add.txt
|
||||
func LoadJSON_SQL(FileName string) error {
|
||||
var err error
|
||||
|
||||
//чтение файла
|
||||
bytes, err := os.ReadFile(FileName)
|
||||
if err != nil {
|
||||
log.Error("ReadFile() error: ", err)
|
||||
return err
|
||||
}
|
||||
|
||||
//json в map
|
||||
var MapServiceURL2 = make(map[string]string)
|
||||
err = json.Unmarshal(bytes, &MapServiceURL2)
|
||||
if err != nil {
|
||||
log.Panic("Unmarshal() error: ", err)
|
||||
}
|
||||
|
||||
//заполнение главного map
|
||||
for k, v := range MapServiceURL2 {
|
||||
types.MapSQLDeveloper[k] = v
|
||||
}
|
||||
|
||||
return err
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ func TestLoadJSON_from_file(t *testing.T) {
|
||||
|
||||
//главный файл
|
||||
FileName := dir + "settings" + micro.SeparatorFile() + "connections.txt"
|
||||
err := LoadJSON_from_file(FileName)
|
||||
err := LoadJSON_Services(FileName)
|
||||
if err != nil {
|
||||
t.Error("TestLoadJSON_from_file() error: ", err)
|
||||
}
|
||||
@ -44,7 +44,7 @@ func TestLoadJSON_from_file(t *testing.T) {
|
||||
|
||||
//дополнительный файл
|
||||
FileName = dir + "settings" + micro.SeparatorFile() + "connections_add.txt"
|
||||
err = LoadJSON_from_file(FileName)
|
||||
err = LoadJSON_Services(FileName)
|
||||
if err != nil {
|
||||
t.Error("TestLoadJSON_from_file() error: ", err)
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ func TestStart_period(t *testing.T) {
|
||||
|
||||
telegram_client.CreateTelegramClient(nil)
|
||||
telegram_client.ConnectTelegram()
|
||||
load_json.LoadJSON()
|
||||
load_json.LoadJSON_All()
|
||||
|
||||
date2 := time.Now()
|
||||
date1 := carbon.Time2Carbon(date2).AddDays(-2).Carbon2Time()
|
||||
|
@ -21,6 +21,9 @@ var LastReadTime time.Time
|
||||
// Ticker - таймер, запускается каждые INTERVAL_SEND_MINUTES (10) минут
|
||||
var Ticker *time.Ticker
|
||||
|
||||
// MapLastErrors - хранит предыдущие ошибки
|
||||
var MapLastErrors = make(map[string]string)
|
||||
|
||||
// Start - старт работы чтения логов LOKI
|
||||
func Start() {
|
||||
|
||||
@ -95,7 +98,7 @@ loop_for:
|
||||
}
|
||||
|
||||
// Start_period1 - запускает чтение логов одного сервиса за период
|
||||
func Start_period1(ServiceName, DeveloperName string, DateFrom, DateTo time.Time) error {
|
||||
func Start_period1(ServiceName, DeveloperName0 string, DateFrom, DateTo time.Time) error {
|
||||
var err error
|
||||
|
||||
ctxMain := contextmain.GetContext()
|
||||
@ -141,6 +144,19 @@ func Start_period1(ServiceName, DeveloperName string, DateFrom, DateTo time.Time
|
||||
}
|
||||
Date := time.Unix(0, iDate)
|
||||
TextDate := Date.Format(constants.Layout)
|
||||
DeveloperName := DeveloperName0
|
||||
|
||||
//если такая же ошибка то не пишем имя разработчика
|
||||
TextLogWithoutTime := TextLogWithoutTime(TextLog)
|
||||
LastError, IsFind2 := MapLastErrors[ServiceName]
|
||||
if IsFind2 == true && LastError == TextLogWithoutTime {
|
||||
DeveloperName = ""
|
||||
}
|
||||
|
||||
//запомним последнюю ошибку
|
||||
MapLastErrors[ServiceName] = TextLogWithoutTime
|
||||
|
||||
//
|
||||
Text := ServiceName + " " + TextDate + " " + DeveloperName + "\n" + TextLog
|
||||
|
||||
_, err = telegram_client.SendMessage(config.Settings.TELEGRAM_CHAT_NAME, Text)
|
||||
@ -162,3 +178,15 @@ func FindURLLoki(ServiceName string, DateFrom, DateTo time.Time) string {
|
||||
|
||||
return Otvet
|
||||
}
|
||||
|
||||
// TextLogWithoutTime - убирает время в логе, для этого берём текст после 2 пробела
|
||||
// time="2024-11-07 04:30:53.709" level=error msg="GetExtractEgripEgrul INN: 519300250706 Result: map[address: fullName: shortName: state:] Error: 404 Нет данных по данному ИНН: 519300250706" func="TakeMessageAsync()\t" file=" nats.go:194\t"
|
||||
// 2024/11/01 04:35:07.872721 [ERROR] syncMessage, contractId: 7802, error: NewBriefCase, initInvoices, error: there is no documents for this contract
|
||||
func TextLogWithoutTime(TextLog string) string {
|
||||
Otvet := TextLog
|
||||
|
||||
Otvet = micro.StringAfter(Otvet, " ")
|
||||
Otvet = micro.StringAfter(Otvet, " ")
|
||||
|
||||
return Otvet
|
||||
}
|
||||
|
@ -20,6 +20,9 @@ import (
|
||||
// Ticker - таймер, запускается каждые INTERVAL_SEND_MINUTES (10) минут
|
||||
var Ticker *time.Ticker
|
||||
|
||||
// MapLastErrors - хранит предыдущие ошибки
|
||||
var MapLastErrors = make(map[string]string)
|
||||
|
||||
// Start - старт работы чтения логов LOKI
|
||||
func Start() {
|
||||
RunSQL_and_Send()
|
||||
@ -91,6 +94,12 @@ func RunSQL() error {
|
||||
Name1, ok := types.MapServiceDeveloper[FilenemeShort]
|
||||
if ok {
|
||||
DeveloperName = DeveloperName + Name1
|
||||
|
||||
//если такая же ошибка то не пишем имя разработчика
|
||||
LastError, IsFind2 := MapLastErrors[FilenemeShort]
|
||||
if IsFind2 == true && LastError == err.Error() {
|
||||
DeveloperName = ""
|
||||
}
|
||||
}
|
||||
|
||||
//запускаем скрипт
|
||||
@ -149,5 +158,8 @@ func RunSQL1(Filename string) error {
|
||||
FilenameShort := path.Base(Filename)
|
||||
err = fmt.Errorf(`скрипт "%s" вернул значение: %s`, FilenameShort, ResultSQL)
|
||||
|
||||
//запомним последнюю ошибку
|
||||
MapLastErrors[FilenameShort] = err.Error()
|
||||
|
||||
return err
|
||||
}
|
||||
|
@ -70,3 +70,6 @@ type Message struct {
|
||||
|
||||
// MapServiceDeveloper - карта Имя сервиса - telegram логин программиста
|
||||
var MapServiceDeveloper = make(map[string]string)
|
||||
|
||||
// MapSQLDeveloper - карта Имя сервиса - telegram логин программиста
|
||||
var MapSQLDeveloper = make(map[string]string)
|
||||
|
@ -1 +1 @@
|
||||
e268705 2024-11-06 15:40:41 +0300
|
||||
cdd755f 2024-11-07 10:05:34 +0300
|
||||
|
Loading…
x
Reference in New Issue
Block a user