From e660d683a049ce7437316b8816e0f49d83ac3c39 Mon Sep 17 00:00:00 2001 From: Antony Male Date: Fri, 6 Nov 2015 12:58:44 +0000 Subject: [PATCH] Enable extra logging in pool.go even when -debug not specified Knowing why a relay server failed to join the pool can be important. This is typically an issue which must be investigated after it occurred, so having logs available is useful. Running with -debug permanently enabled is impractical, due to the amount of traffic that is generated, particularly when data is being transferred. Logging is limited to at most one message per minute, although one message per hour is more likely. --- cmd/relaysrv/pool.go | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/cmd/relaysrv/pool.go b/cmd/relaysrv/pool.go index 714cf4f4..9bd9762d 100644 --- a/cmd/relaysrv/pool.go +++ b/cmd/relaysrv/pool.go @@ -26,9 +26,7 @@ func poolHandler(pool string, uri *url.URL) { resp, err := http.Post(pool, "application/json", &b) if err != nil { - if debug { - log.Println("Error joining pool", pool, err) - } + log.Println("Error joining pool", pool, err) } else if resp.StatusCode == 500 { if debug { bs, err := ioutil.ReadAll(resp.Body) @@ -38,17 +36,15 @@ func poolHandler(pool string, uri *url.URL) { log.Println("Response for", pool, string(bs)) } resp.Body.Close() + } else { + log.Println(pool, "failed to join due to an internal server error") } } else if resp.StatusCode == 429 { - if debug { - log.Println(pool, "under load, will retry in a minute") - } + log.Println(pool, "under load, will retry in a minute") time.Sleep(time.Minute) continue } else if resp.StatusCode == 403 { - if debug { - log.Println(pool, "failed to join due to IP address not matching external address") - } + log.Println(pool, "failed to join due to IP address not matching external address. Aborting") return } else if resp.StatusCode == 200 { var x struct { @@ -60,9 +56,11 @@ func poolHandler(pool string, uri *url.URL) { log.Println("Joined", pool, "rejoining in", rejoin) time.Sleep(rejoin) continue - } else if debug { + } else { log.Println("Failed to deserialize response", err) } + } else { + log.Println(pool, "unknown response type from server", resp.StatusCode) } time.Sleep(time.Hour) }