From aabca4974a4389da00156e2c3b6fe1992585afbf Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 17 Oct 2023 22:12:45 +0200 Subject: [PATCH] implemented new version of logger --- go.mod | 2 +- go.sum | 4 ++++ main.go | 2 +- modules/logger/logger.go | 16 ++++++++-------- modules/robot/robot.go | 11 ++++++----- routers/api/v1/control/control.go | 3 ++- routers/api/v1/permitjoin/permitjoin.go | 5 +++-- routers/api/v1/robot/robot.go | 3 ++- start.sh | 2 ++ 9 files changed, 29 insertions(+), 19 deletions(-) create mode 100755 start.sh diff --git a/go.mod b/go.mod index 6072074..015a900 100644 --- a/go.mod +++ b/go.mod @@ -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 diff --git a/go.sum b/go.sum index 1abe275..d833880 100644 --- a/go.sum +++ b/go.sum @@ -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= diff --git a/main.go b/main.go index 807827f..17f853c 100644 --- a/main.go +++ b/main.go @@ -71,7 +71,7 @@ func main() { router.SetupRoutes(app) - rcmlogger.AddSystemLog("Server started") + rcmlogger.AddSystemLog(rslogger.LogTypeInfo, "Server started") robot.LoadRobotsFromDatabase() go robot.RobotPingHandler() diff --git a/modules/logger/logger.go b/modules/logger/logger.go index 27bed0d..770b78a 100644 --- a/modules/logger/logger.go +++ b/modules/logger/logger.go @@ -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...)}}) } diff --git a/modules/robot/robot.go b/modules/robot/robot.go index a8313e7..21d08bd 100644 --- a/modules/robot/robot.go +++ b/modules/robot/robot.go @@ -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") } diff --git a/routers/api/v1/control/control.go b/routers/api/v1/control/control.go index b856cfe..cd1a98c 100644 --- a/routers/api/v1/control/control.go +++ b/routers/api/v1/control/control.go @@ -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}) diff --git a/routers/api/v1/permitjoin/permitjoin.go b/routers/api/v1/permitjoin/permitjoin.go index ac2fcc9..ff3d76a 100644 --- a/routers/api/v1/permitjoin/permitjoin.go +++ b/routers/api/v1/permitjoin/permitjoin.go @@ -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() } diff --git a/routers/api/v1/robot/robot.go b/routers/api/v1/robot/robot.go index f4a50c9..19f295e 100644 --- a/routers/api/v1/robot/robot.go +++ b/routers/api/v1/robot/robot.go @@ -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}) diff --git a/start.sh b/start.sh new file mode 100755 index 0000000..214013a --- /dev/null +++ b/start.sh @@ -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' \ No newline at end of file