From ec1d8c611dabe484b4981eea62dca17e1b3c039f Mon Sep 17 00:00:00 2001 From: Sergey Petrov Date: Wed, 26 Mar 2025 16:38:06 +0500 Subject: [PATCH] Added logging requests from the cameras. --- writer/internal/ingest/rtsp/rtsp.go | 288 ++++++++++++++++++++++++++++ 1 file changed, 288 insertions(+) diff --git a/writer/internal/ingest/rtsp/rtsp.go b/writer/internal/ingest/rtsp/rtsp.go index 29cff4a..ccc0a49 100644 --- a/writer/internal/ingest/rtsp/rtsp.go +++ b/writer/internal/ingest/rtsp/rtsp.go @@ -248,6 +248,30 @@ func rtsp(dir string, period int, link string) error { return err } + // Set program if the client gets request. + c.OnRequest = func(req *base.Request) { + switch req.Method { + case base.Teardown: + cam.Warn("got TEARDOWN request from server:", zap.String("request", req.String())) + log.Println("got TEARDOWN request from server: ", req.String()) + case base.Method(rune(base.StatusRequestTimeout)): + cam.Warn("got STATUS_REQUEST_TIMEOUT from server:", zap.String("request", req.String())) + log.Println("got STATUS_REQUEST_TIMEOUT from server: ", req.String()) + case base.GetParameter: + cam.Info("got Get_Parameter from server:", zap.String("request", req.String())) + log.Println("got Get_Parameter from server: ", req.String()) + case "TCP timeout": + cam.Warn("got TCP timeout from server:", zap.String("request", req.String())) + log.Println("got TCP timeout from server: ", req.String()) + case "EOF": + cam.Warn("got EOF from server:", zap.String("request", req.String())) + log.Println("got EOF from server: ", req.String()) + default: + cam.Warn("got method from server:", zap.String("request", req.String())) + log.Println("got method from server: ", req.String()) + } + } + // Create ticker for rotation files. ticker := time.NewTicker(time.Duration(period) * time.Second) defer ticker.Stop() @@ -318,6 +342,30 @@ func rtsp(dir string, period int, link string) error { return err } + // Set program if the client gets request. + c.OnRequest = func(req *base.Request) { + switch req.Method { + case base.Teardown: + cam.Warn("got TEARDOWN request from server:", zap.String("request", req.String())) + log.Println("got TEARDOWN request from server: ", req.String()) + case base.Method(rune(base.StatusRequestTimeout)): + cam.Warn("got STATUS_REQUEST_TIMEOUT from server:", zap.String("request", req.String())) + log.Println("got STATUS_REQUEST_TIMEOUT from server: ", req.String()) + case base.GetParameter: + cam.Info("got Get_Parameter from server:", zap.String("request", req.String())) + log.Println("got Get_Parameter from server: ", req.String()) + case "TCP timeout": + cam.Warn("got TCP timeout from server:", zap.String("request", req.String())) + log.Println("got TCP timeout from server: ", req.String()) + case "EOF": + cam.Warn("got EOF from server:", zap.String("request", req.String())) + log.Println("got EOF from server: ", req.String()) + default: + cam.Warn("got method from server:", zap.String("request", req.String())) + log.Println("got method from server: ", req.String()) + } + } + // Create ticker for rotation files. ticker := time.NewTicker(time.Duration(period) * time.Second) defer ticker.Stop() @@ -418,6 +466,30 @@ func rtsp(dir string, period int, link string) error { return err } + // Set program if the client gets request. + c.OnRequest = func(req *base.Request) { + switch req.Method { + case base.Teardown: + cam.Warn("got TEARDOWN request from server:", zap.String("request", req.String())) + log.Println("got TEARDOWN request from server: ", req.String()) + case base.Method(rune(base.StatusRequestTimeout)): + cam.Warn("got STATUS_REQUEST_TIMEOUT from server:", zap.String("request", req.String())) + log.Println("got STATUS_REQUEST_TIMEOUT from server: ", req.String()) + case base.GetParameter: + cam.Info("got Get_Parameter from server:", zap.String("request", req.String())) + log.Println("got Get_Parameter from server: ", req.String()) + case "TCP timeout": + cam.Warn("got TCP timeout from server:", zap.String("request", req.String())) + log.Println("got TCP timeout from server: ", req.String()) + case "EOF": + cam.Warn("got EOF from server:", zap.String("request", req.String())) + log.Println("got EOF from server: ", req.String()) + default: + cam.Warn("got method from server:", zap.String("request", req.String())) + log.Println("got method from server: ", req.String()) + } + } + // Create ticker for rotation files. ticker := time.NewTicker(time.Duration(period) * time.Second) defer ticker.Stop() @@ -585,6 +657,30 @@ func rtsp(dir string, period int, link string) error { return err } + // Set program if the client gets request. + c.OnRequest = func(req *base.Request) { + switch req.Method { + case base.Teardown: + cam.Warn("got TEARDOWN request from server:", zap.String("request", req.String())) + log.Println("got TEARDOWN request from server: ", req.String()) + case base.Method(rune(base.StatusRequestTimeout)): + cam.Warn("got STATUS_REQUEST_TIMEOUT from server:", zap.String("request", req.String())) + log.Println("got STATUS_REQUEST_TIMEOUT from server: ", req.String()) + case base.GetParameter: + cam.Info("got Get_Parameter from server:", zap.String("request", req.String())) + log.Println("got Get_Parameter from server: ", req.String()) + case "TCP timeout": + cam.Warn("got TCP timeout from server:", zap.String("request", req.String())) + log.Println("got TCP timeout from server: ", req.String()) + case "EOF": + cam.Warn("got EOF from server:", zap.String("request", req.String())) + log.Println("got EOF from server: ", req.String()) + default: + cam.Warn("got method from server:", zap.String("request", req.String())) + log.Println("got method from server: ", req.String()) + } + } + // Create ticker for rotation files. ticker := time.NewTicker(time.Duration(period) * time.Second) defer ticker.Stop() @@ -703,6 +799,30 @@ func rtsp(dir string, period int, link string) error { return err } + // Set program if the client gets request. + c.OnRequest = func(req *base.Request) { + switch req.Method { + case base.Teardown: + cam.Warn("got TEARDOWN request from server:", zap.String("request", req.String())) + log.Println("got TEARDOWN request from server: ", req.String()) + case base.Method(rune(base.StatusRequestTimeout)): + cam.Warn("got STATUS_REQUEST_TIMEOUT from server:", zap.String("request", req.String())) + log.Println("got STATUS_REQUEST_TIMEOUT from server: ", req.String()) + case base.GetParameter: + cam.Info("got Get_Parameter from server:", zap.String("request", req.String())) + log.Println("got Get_Parameter from server: ", req.String()) + case "TCP timeout": + cam.Warn("got TCP timeout from server:", zap.String("request", req.String())) + log.Println("got TCP timeout from server: ", req.String()) + case "EOF": + cam.Warn("got EOF from server:", zap.String("request", req.String())) + log.Println("got EOF from server: ", req.String()) + default: + cam.Warn("got method from server:", zap.String("request", req.String())) + log.Println("got method from server: ", req.String()) + } + } + // Create ticker for rotation files. ticker := time.NewTicker(time.Duration(period) * time.Second) defer ticker.Stop() @@ -788,6 +908,30 @@ func rtsp(dir string, period int, link string) error { return err } + // Set program if the client gets request. + c.OnRequest = func(req *base.Request) { + switch req.Method { + case base.Teardown: + cam.Warn("got TEARDOWN request from server:", zap.String("request", req.String())) + log.Println("got TEARDOWN request from server: ", req.String()) + case base.Method(rune(base.StatusRequestTimeout)): + cam.Warn("got STATUS_REQUEST_TIMEOUT from server:", zap.String("request", req.String())) + log.Println("got STATUS_REQUEST_TIMEOUT from server: ", req.String()) + case base.GetParameter: + cam.Info("got Get_Parameter from server:", zap.String("request", req.String())) + log.Println("got Get_Parameter from server: ", req.String()) + case "TCP timeout": + cam.Warn("got TCP timeout from server:", zap.String("request", req.String())) + log.Println("got TCP timeout from server: ", req.String()) + case "EOF": + cam.Warn("got EOF from server:", zap.String("request", req.String())) + log.Println("got EOF from server: ", req.String()) + default: + cam.Warn("got method from server:", zap.String("request", req.String())) + log.Println("got method from server: ", req.String()) + } + } + // Create ticker for rotation files. ticker := time.NewTicker(time.Duration(period) * time.Second) defer ticker.Stop() @@ -851,6 +995,30 @@ func rtsp(dir string, period int, link string) error { return err } + // Set program if the client gets request. + c.OnRequest = func(req *base.Request) { + switch req.Method { + case base.Teardown: + cam.Warn("got TEARDOWN request from server:", zap.String("request", req.String())) + log.Println("got TEARDOWN request from server: ", req.String()) + case base.Method(rune(base.StatusRequestTimeout)): + cam.Warn("got STATUS_REQUEST_TIMEOUT from server:", zap.String("request", req.String())) + log.Println("got STATUS_REQUEST_TIMEOUT from server: ", req.String()) + case base.GetParameter: + cam.Info("got Get_Parameter from server:", zap.String("request", req.String())) + log.Println("got Get_Parameter from server: ", req.String()) + case "TCP timeout": + cam.Warn("got TCP timeout from server:", zap.String("request", req.String())) + log.Println("got TCP timeout from server: ", req.String()) + case "EOF": + cam.Warn("got EOF from server:", zap.String("request", req.String())) + log.Println("got EOF from server: ", req.String()) + default: + cam.Warn("got method from server:", zap.String("request", req.String())) + log.Println("got method from server: ", req.String()) + } + } + // Create ticker for rotation files. ticker := time.NewTicker(time.Duration(period) * time.Second) defer ticker.Stop() @@ -914,6 +1082,30 @@ func rtsp(dir string, period int, link string) error { return err } + // Set program if the client gets request. + c.OnRequest = func(req *base.Request) { + switch req.Method { + case base.Teardown: + cam.Warn("got TEARDOWN request from server:", zap.String("request", req.String())) + log.Println("got TEARDOWN request from server: ", req.String()) + case base.Method(rune(base.StatusRequestTimeout)): + cam.Warn("got STATUS_REQUEST_TIMEOUT from server:", zap.String("request", req.String())) + log.Println("got STATUS_REQUEST_TIMEOUT from server: ", req.String()) + case base.GetParameter: + cam.Info("got Get_Parameter from server:", zap.String("request", req.String())) + log.Println("got Get_Parameter from server: ", req.String()) + case "TCP timeout": + cam.Warn("got TCP timeout from server:", zap.String("request", req.String())) + log.Println("got TCP timeout from server: ", req.String()) + case "EOF": + cam.Warn("got EOF from server:", zap.String("request", req.String())) + log.Println("got EOF from server: ", req.String()) + default: + cam.Warn("got method from server:", zap.String("request", req.String())) + log.Println("got method from server: ", req.String()) + } + } + // Create ticker for rotation files. ticker := time.NewTicker(time.Duration(period) * time.Second) defer ticker.Stop() @@ -979,6 +1171,30 @@ func rtsp(dir string, period int, link string) error { return err } + // Set program if the client gets request. + c.OnRequest = func(req *base.Request) { + switch req.Method { + case base.Teardown: + cam.Warn("got TEARDOWN request from server:", zap.String("request", req.String())) + log.Println("got TEARDOWN request from server: ", req.String()) + case base.Method(rune(base.StatusRequestTimeout)): + cam.Warn("got STATUS_REQUEST_TIMEOUT from server:", zap.String("request", req.String())) + log.Println("got STATUS_REQUEST_TIMEOUT from server: ", req.String()) + case base.GetParameter: + cam.Info("got Get_Parameter from server:", zap.String("request", req.String())) + log.Println("got Get_Parameter from server: ", req.String()) + case "TCP timeout": + cam.Warn("got TCP timeout from server:", zap.String("request", req.String())) + log.Println("got TCP timeout from server: ", req.String()) + case "EOF": + cam.Warn("got EOF from server:", zap.String("request", req.String())) + log.Println("got EOF from server: ", req.String()) + default: + cam.Warn("got method from server:", zap.String("request", req.String())) + log.Println("got method from server: ", req.String()) + } + } + // Create ticker for rotation files. ticker := time.NewTicker(time.Duration(period) * time.Second) defer ticker.Stop() @@ -1042,6 +1258,30 @@ func rtsp(dir string, period int, link string) error { return err } + // Set program if the client gets request. + c.OnRequest = func(req *base.Request) { + switch req.Method { + case base.Teardown: + cam.Warn("got TEARDOWN request from server:", zap.String("request", req.String())) + log.Println("got TEARDOWN request from server: ", req.String()) + case base.Method(rune(base.StatusRequestTimeout)): + cam.Warn("got STATUS_REQUEST_TIMEOUT from server:", zap.String("request", req.String())) + log.Println("got STATUS_REQUEST_TIMEOUT from server: ", req.String()) + case base.GetParameter: + cam.Info("got Get_Parameter from server:", zap.String("request", req.String())) + log.Println("got Get_Parameter from server: ", req.String()) + case "TCP timeout": + cam.Warn("got TCP timeout from server:", zap.String("request", req.String())) + log.Println("got TCP timeout from server: ", req.String()) + case "EOF": + cam.Warn("got EOF from server:", zap.String("request", req.String())) + log.Println("got EOF from server: ", req.String()) + default: + cam.Warn("got method from server:", zap.String("request", req.String())) + log.Println("got method from server: ", req.String()) + } + } + // Create ticker for rotation files. ticker := time.NewTicker(time.Duration(period) * time.Second) defer ticker.Stop() @@ -1114,6 +1354,30 @@ func rtsp(dir string, period int, link string) error { return err } + // Set program if the client gets request. + c.OnRequest = func(req *base.Request) { + switch req.Method { + case base.Teardown: + cam.Warn("got TEARDOWN request from server:", zap.String("request", req.String())) + log.Println("got TEARDOWN request from server: ", req.String()) + case base.Method(rune(base.StatusRequestTimeout)): + cam.Warn("got STATUS_REQUEST_TIMEOUT from server:", zap.String("request", req.String())) + log.Println("got STATUS_REQUEST_TIMEOUT from server: ", req.String()) + case base.GetParameter: + cam.Info("got Get_Parameter from server:", zap.String("request", req.String())) + log.Println("got Get_Parameter from server: ", req.String()) + case "TCP timeout": + cam.Warn("got TCP timeout from server:", zap.String("request", req.String())) + log.Println("got TCP timeout from server: ", req.String()) + case "EOF": + cam.Warn("got EOF from server:", zap.String("request", req.String())) + log.Println("got EOF from server: ", req.String()) + default: + cam.Warn("got method from server:", zap.String("request", req.String())) + log.Println("got method from server: ", req.String()) + } + } + // Create ticker for rotation files. ticker := time.NewTicker(time.Duration(period) * time.Second) defer ticker.Stop() @@ -1186,6 +1450,30 @@ func rtsp(dir string, period int, link string) error { return err } + // Set program if the client gets request. + c.OnRequest = func(req *base.Request) { + switch req.Method { + case base.Teardown: + cam.Warn("got TEARDOWN request from server:", zap.String("request", req.String())) + log.Println("got TEARDOWN request from server: ", req.String()) + case base.Method(rune(base.StatusRequestTimeout)): + cam.Warn("got STATUS_REQUEST_TIMEOUT from server:", zap.String("request", req.String())) + log.Println("got STATUS_REQUEST_TIMEOUT from server: ", req.String()) + case base.GetParameter: + cam.Info("got Get_Parameter from server:", zap.String("request", req.String())) + log.Println("got Get_Parameter from server: ", req.String()) + case "TCP timeout": + cam.Warn("got TCP timeout from server:", zap.String("request", req.String())) + log.Println("got TCP timeout from server: ", req.String()) + case "EOF": + cam.Warn("got EOF from server:", zap.String("request", req.String())) + log.Println("got EOF from server: ", req.String()) + default: + cam.Warn("got method from server:", zap.String("request", req.String())) + log.Println("got method from server: ", req.String()) + } + } + // Create ticker for rotation files. ticker := time.NewTicker(time.Duration(period) * time.Second) defer ticker.Stop()