diff options
author | Hector Oswaldo Caballero <hector.caballero@ericsson.com> | 2018-06-19 13:19:36 -0400 |
---|---|---|
committer | Hector Oswaldo Caballero <hector.caballero@ericsson.com> | 2018-06-20 05:22:23 -0400 |
commit | 35c80e2e5f81cb7ea9452c72017769b57d252c50 (patch) | |
tree | 25301dcb7f2abffff8b98bdd85ffd42c1f6689a9 | |
parent | d6b455cb38471cf03ebc07b3574385508c030234 (diff) |
[GitwebServlet] Avoid empty error flooding the logs
So far, the logs were being flooded with empty error messages every time
a gitweb operation was done:
[Gitweb-ErrorLogger] ERROR com.google.gerrit.httpd.gitweb.GitwebServlet :
Check error message is not empty before log in it.
Change-Id: Ida6a19092d69e65782041d4327ed97ec5f4dc70e
-rw-r--r-- | gerrit-httpd/src/main/java/com/google/gerrit/httpd/gitweb/GitwebServlet.java | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/gitweb/GitwebServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/gitweb/GitwebServlet.java index c5907c932d..b1c7403133 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/gitweb/GitwebServlet.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/gitweb/GitwebServlet.java @@ -70,6 +70,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; +import java.util.stream.Collectors; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -645,17 +646,17 @@ class GitwebServlet extends HttpServlet { private void copyStderrToLog(final InputStream in) { new Thread( () -> { - StringBuilder b = new StringBuilder(); try (BufferedReader br = new BufferedReader(new InputStreamReader(in, ISO_8859_1.name()))) { - String line; - while ((line = br.readLine()) != null) { - if (b.length() > 0) { - b.append('\n'); - } - b.append("CGI: ").append(line); + String err = + br.lines() + .filter(s -> !s.isEmpty()) + .map(s -> "CGI: " + s) + .collect(Collectors.joining("\n")) + .trim(); + if (!err.isEmpty()) { + log.error(err); } - log.error(b.toString()); } catch (IOException e) { log.error("Unexpected error copying stderr from CGI", e); } |