From 2b96a4c59b2136133b2f17bde921fd14c30919d7 Mon Sep 17 00:00:00 2001 From: sneak Date: Tue, 14 May 2024 04:33:30 -0700 Subject: [PATCH] aider: Added logging for connection success, failure, and reconnection when relpDebug is set. # Aider chat conversation: USER: continuing with the relpDebug theme, make it log messages on connection success, connection failure, and reconnection if relpDebug is set ASSISTANT: To make this change we need to modify `relp_handler.go` to: 1. Add logging for successful connection in the `Startup` method. 2. Add logging for failed connection in the `connectToRELPServer` method. 3. Add logging for reconnection in the `watchDirectoryForFailedEventFiles` method. Here are the *SEARCH/REPLACE* blocks: relp_handler.go ```go <<<<<<< SEARCH r.conn, err = r.connectToRELPServer() if err != nil { return fmt.Errorf("Failed to establish TCP connection: %v", err) } ======= r.conn, err = r.connectToRELPServer() if err != nil { if relpDebug { log.Printf("Failed to establish TCP connection: %v", err) } return fmt.Errorf("Failed to establish TCP connection: %v", err) } if relpDebug { log.Printf("Successfully connected to RELP server at %s", r.relpServerURL) } >>>>>>> REPLACE ``` relp_handler.go ```go <<<<<<< SEARCH conn, err := net.Dial("tcp", net.JoinHostPort(host, port)) if err != nil { return nil, err } return conn, nil ======= conn, err := net.Dial("tcp", net.JoinHostPort(host, port)) if err != nil { if relpDebug { log.Printf("Failed to connect to RELP server at %s: %v", net.JoinHostPort(host, port), err) } return nil, err } if relpDebug { log.Printf("Successfully connected to RELP server at %s", net.JoinHostPort(host, port)) } return conn, nil >>>>>>> REPLACE ``` relp_handler.go ```go <<<<<<< SEARCH if r.isConnected() { files, err := ioutil.ReadDir(cacheDir) if err != nil { log.Printf("Error reading cache directory: %v", err) continue } for _, file := range files { filePath := filepath.Join(cacheDir, file.Name()) data, err := ioutil.ReadFile(filePath) if err != nil { log.Printf("Error reading file %s: %v", file.Name(), err) continue } var event Event if err := json.Unmarshal(data, &event); err != nil { log.Printf("Error unmarshalling event from file %s: %v", file.Name(), err) continue } r.ch <- event os.Remove(filePath) // Remove file after processing } } ======= if r.isConnected() { if relpDebug { log.Printf("Reconnected to RELP server at %s", r.relpServerURL) } files, err := ioutil.ReadDir(cacheDir) if err != nil { log.Printf("Error reading cache directory: %v", err) continue } for _, file := range files { filePath := filepath.Join(cacheDir, file.Name()) data, err := ioutil.ReadFile(filePath) if err != nil { log.Printf("Error reading file %s: %v", file.Name(), err) continue } var event Event if err := json.Unmarshal(data, &event); err != nil { log.Printf("Error unmarshalling event from file %s: %v", file.Name(), err) continue } r.ch <- event os.Remove(filePath) // Remove file after processing } } >>>>>>> REPLACE ``` --- relp_handler.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/relp_handler.go b/relp_handler.go index 6d101f6..b88de07 100644 --- a/relp_handler.go +++ b/relp_handler.go @@ -81,8 +81,14 @@ func (r *RELPHandler) connectToRELPServer() (net.Conn, error) { } conn, err := net.Dial("tcp", net.JoinHostPort(host, port)) if err != nil { + if relpDebug { + log.Printf("Failed to connect to RELP server at %s: %v", net.JoinHostPort(host, port), err) + } return nil, err } + if relpDebug { + log.Printf("Successfully connected to RELP server at %s", net.JoinHostPort(host, port)) + } return conn, nil } @@ -90,8 +96,14 @@ func (r *RELPHandler) Startup() error { var err error r.conn, err = r.connectToRELPServer() if err != nil { + if relpDebug { + log.Printf("Failed to establish TCP connection: %v", err) + } return fmt.Errorf("Failed to establish TCP connection: %v", err) } + if relpDebug { + log.Printf("Successfully connected to RELP server at %s", r.relpServerURL) + } go r.receiveEventsFromChannel() go r.processFailedEvents() go r.watchDirectoryForFailedEventFiles() @@ -172,6 +184,9 @@ func (r *RELPHandler) watchDirectoryForFailedEventFiles() { return default: if r.isConnected() { + if relpDebug { + log.Printf("Reconnected to RELP server at %s", r.relpServerURL) + } files, err := ioutil.ReadDir(cacheDir) if err != nil { log.Printf("Error reading cache directory: %v", err)