summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHector Oswaldo Caballero <hector.caballero@ericsson.com>2018-06-19 13:19:36 -0400
committerHector Oswaldo Caballero <hector.caballero@ericsson.com>2018-06-20 05:22:23 -0400
commit35c80e2e5f81cb7ea9452c72017769b57d252c50 (patch)
tree25301dcb7f2abffff8b98bdd85ffd42c1f6689a9
parentd6b455cb38471cf03ebc07b3574385508c030234 (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.java17
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);
}