implemented new version of logger

main
alex 2023-10-17 22:12:45 +02:00
parent af58edff0d
commit aabca4974a
9 changed files with 29 additions and 19 deletions

2
go.mod
View File

@ -3,7 +3,7 @@ module jannex/robot-control-manager
go 1.21.0
require (
git.ex.umbach.dev/Alex/roese-utils v1.0.14
git.ex.umbach.dev/Alex/roese-utils v1.0.16
github.com/gofiber/fiber/v2 v2.49.2
github.com/google/uuid v1.3.1
github.com/joho/godotenv v1.5.1

4
go.sum
View File

@ -6,6 +6,10 @@ git.ex.umbach.dev/Alex/roese-utils v1.0.13 h1:zPFUQda4ljskCFdGdV69jjAiblTdIMrubw
git.ex.umbach.dev/Alex/roese-utils v1.0.13/go.mod h1:mov3ZaoSu+GBQU1uXN/AfSK6MF3/3WxUk38Tb6IKxbI=
git.ex.umbach.dev/Alex/roese-utils v1.0.14 h1:OdV3RTXOsMZHntUgAl00g+zMux58gUqzRTPw/KNdTAg=
git.ex.umbach.dev/Alex/roese-utils v1.0.14/go.mod h1:mov3ZaoSu+GBQU1uXN/AfSK6MF3/3WxUk38Tb6IKxbI=
git.ex.umbach.dev/Alex/roese-utils v1.0.15 h1:xvqk5yMBkcabjWVymEbmColgSX09IcMQVFz2pKBsDvU=
git.ex.umbach.dev/Alex/roese-utils v1.0.15/go.mod h1:mov3ZaoSu+GBQU1uXN/AfSK6MF3/3WxUk38Tb6IKxbI=
git.ex.umbach.dev/Alex/roese-utils v1.0.16 h1:B9yVx5nL7FfUPJmqHDs58mq8MB2wSox1fK34EP3dqhc=
git.ex.umbach.dev/Alex/roese-utils v1.0.16/go.mod h1:mov3ZaoSu+GBQU1uXN/AfSK6MF3/3WxUk38Tb6IKxbI=
github.com/andybalholm/brotli v1.0.5 h1:8uQZIdzKmjc/iuPu7O2ioW48L81FgatrcpfFmiq/cCs=
github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=

View File

@ -71,7 +71,7 @@ func main() {
router.SetupRoutes(app)
rcmlogger.AddSystemLog("Server started")
rcmlogger.AddSystemLog(rslogger.LogTypeInfo, "Server started")
robot.LoadRobotsFromDatabase()
go robot.RobotPingHandler()

View File

@ -8,22 +8,22 @@ import (
"github.com/gofiber/fiber/v2"
)
func AddSystemLog(format string, v ...any) {
func AddSystemLog(logType string, format string, v ...any) {
go rslogger.LogManagerRequestClient(fiber.MethodPost, rslogger.LogManagerRequestBody{
Type: "robot-control-manager",
Logs: []string{"I " + rslogger.GetTime() + fmt.Sprintf(format, v...)}})
Logs: []string{logType + rslogger.GetTime() + fmt.Sprintf(format, v...)}})
}
func AddRobotLog(robotType uint8, robotId string, format string, v ...any) {
var logType string
func AddRobotLog(logType string, robotType uint8, robotId string, format string, v ...any) {
var lType string
if robotType == utils.RobotTypeRex {
logType = "rex"
lType = "rex"
} else {
logType = "yeet"
lType = "yeet"
}
go rslogger.LogManagerRequestClient(fiber.MethodPost, rslogger.LogManagerRequestBody{
Type: logType + "-" + robotId,
Logs: []string{"I " + rslogger.GetTime() + fmt.Sprintf(format, v...)}})
Type: lType + "-" + robotId,
Logs: []string{logType + rslogger.GetTime() + fmt.Sprintf(format, v...)}})
}

View File

@ -11,6 +11,7 @@ import (
"jannex/robot-control-manager/modules/utils"
"time"
"git.ex.umbach.dev/Alex/roese-utils/rslogger"
"github.com/gofiber/fiber/v2"
"github.com/rs/zerolog/log"
)
@ -27,18 +28,18 @@ func RobotPingHandler() {
err := request.Request(fiber.MethodGet, robot.Address+":5000/api/v1/ping", nil)
if err != nil {
logger.AddSystemLog("Robot ping request failed: %v", err)
logger.AddSystemLog(rslogger.LogTypeWarning, "Robot ping request failed: %v", err)
if robot.PingRetries == utils.RobotPingRetries {
UpdateRobotStatus(robot, utils.RobotStatusOffline)
logger.AddSystemLog("Robot %s marked as offline because %v attempts have already been made to reach it", robot.Name, utils.RobotPingRetries)
logger.AddSystemLog(rslogger.LogTypeWarning, "Robot %s marked as offline because %v attempts have already been made to reach it", robot.Name, utils.RobotPingRetries)
continue
}
robot.PingRetries++
logger.AddSystemLog("Trying to ping robot %s for %v times failed", robot.Name, robot.PingRetries)
logger.AddSystemLog(rslogger.LogTypeWarning, "Trying to ping robot %s for %v times failed", robot.Name, robot.PingRetries)
if robot.Status != utils.RobotStatusConnecting {
UpdateRobotStatus(robot, utils.RobotStatusConnecting)
@ -106,7 +107,7 @@ func ProcessJobTask(r *structs.Robot, jobId string, jobName string) {
if r.Status == utils.RobotStatusOffline {
log.Info().Msgf("Robot %s offline. Job with id %s and name %s canceled", r.Name, jobId, jobName)
logger.AddRobotLog(r.Type, r.Id, "Job with id %s and name %s canceled", jobId, jobName)
logger.AddRobotLog(rslogger.LogTypeWarning, r.Type, r.Id, "Job with id %s and name %s canceled", jobId, jobName)
return
}
@ -241,5 +242,5 @@ func PermitJoinAutoDisableHandler() {
Body: 0,
})
logger.AddSystemLog("Permit join disabled by timer")
logger.AddSystemLog(rslogger.LogTypeInfo, "Permit join disabled by timer")
}

View File

@ -8,6 +8,7 @@ import (
"jannex/robot-control-manager/modules/structs"
"jannex/robot-control-manager/modules/utils"
"git.ex.umbach.dev/Alex/roese-utils/rslogger"
"git.ex.umbach.dev/Alex/roese-utils/rsutils"
"github.com/gofiber/fiber/v2"
)
@ -67,7 +68,7 @@ func ControlRex(c *fiber.Ctx) error {
robot.ProcessJobTask(r, body.JobId, body.JobName)
robot.UpdateRobotStatus(r, utils.RobotStatusRunning)
logger.AddRobotLog(utils.RobotTypeRex, r.Id, "Control robot with task: %v", rsutils.MarshalJson(body.Task))
logger.AddRobotLog(rslogger.LogTypeInfo, utils.RobotTypeRex, r.Id, "Control robot with task: %v", rsutils.MarshalJson(body.Task))
if err := request.Request(fiber.MethodPost, r.Address+":5000/api/v1/control", body.Task); err != nil {
return c.JSON(structs.StatusResponse{Status: utils.ResponseStatusError})

View File

@ -7,6 +7,7 @@ import (
"jannex/robot-control-manager/modules/structs"
"jannex/robot-control-manager/modules/utils"
"git.ex.umbach.dev/Alex/roese-utils/rslogger"
"git.ex.umbach.dev/Alex/roese-utils/rsutils"
"github.com/gofiber/fiber/v2"
)
@ -39,14 +40,14 @@ func SetPermitJoin(c *fiber.Ctx) error {
if params.Enabled == 0 {
cache.SetPermitJoin(false)
logger.AddSystemLog("Permit join disabled")
logger.AddSystemLog(rslogger.LogTypeInfo, "Permit join disabled")
if robot.PermitJoinTimer != nil {
robot.PermitJoinTimer.Stop()
}
} else {
cache.SetPermitJoin(true)
logger.AddSystemLog("Permit join enabled")
logger.AddSystemLog(rslogger.LogTypeInfo, "Permit join enabled")
go robot.PermitJoinAutoDisableHandler()
}

View File

@ -9,6 +9,7 @@ import (
"jannex/robot-control-manager/modules/utils"
"time"
"git.ex.umbach.dev/Alex/roese-utils/rslogger"
"git.ex.umbach.dev/Alex/roese-utils/rspagination"
"git.ex.umbach.dev/Alex/roese-utils/rsutils"
"github.com/gofiber/fiber/v2"
@ -111,7 +112,7 @@ func FirstRequest(c *fiber.Ctx) error {
addRobotSSEMessage(&newRobot)
logger.AddRobotLog(newRobot.Type, newRobot.Id, "Robot connected")
logger.AddRobotLog(rslogger.LogTypeInfo, newRobot.Type, newRobot.Id, "Robot connected")
}
return c.JSON(structs.StatusResponse{Status: utils.ResponseStatusOk})

2
start.sh Executable file
View File

@ -0,0 +1,2 @@
screen -dmS robot-control-manager | exit 0
screen -S robot-control-manager -p 0 -X stuff 'go run main.go\n'