Merge branch 'stable-3.12' * stable-3.12: Make excludedRefsPattern() to return an empty list by default Do not push deletes for refs configured to be skipped Add a remote config to exclude replicating desired refs Auto-format source code using gjf Change-Id: I57e2f34aa6b3012d2aaca69ac13899ab2bc392c2
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationLogFile.java b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationLogFile.java index 60a9523..622034a 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationLogFile.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationLogFile.java
@@ -15,19 +15,47 @@ package com.googlesource.gerrit.plugins.replication; import com.google.gerrit.extensions.systemstatus.ServerInformation; +import com.google.gerrit.server.config.LogConfig; import com.google.gerrit.server.util.PluginLogFile; import com.google.gerrit.server.util.SystemLog; +import com.google.gerrit.util.logging.JsonLayout; +import com.google.gerrit.util.logging.JsonLogEntry; +import com.google.gson.annotations.SerializedName; import com.google.inject.Inject; import org.apache.log4j.PatternLayout; +import org.apache.log4j.spi.LoggingEvent; public class ReplicationLogFile extends PluginLogFile { @Inject - public ReplicationLogFile(SystemLog systemLog, ServerInformation serverInfo) { + public ReplicationLogFile(SystemLog systemLog, ServerInformation serverInfo, LogConfig config) { super( systemLog, serverInfo, ReplicationQueue.REPLICATION_LOG_NAME, - new PatternLayout("[%d] %m%n")); + new PatternLayout("[%d] %m%n"), + new ReplicationJsonLayout(), + config); + } + + static class ReplicationJsonLayout extends JsonLayout { + @SuppressWarnings("unused") + private class ReplicationJsonLogEntry extends JsonLogEntry { + public String timestamp; + public String message; + + @SerializedName("@version") + public final int version = 1; + + public ReplicationJsonLogEntry(LoggingEvent event) { + timestamp = timestampFormatter.format(event.getTimeStamp()); + message = (String) event.getMessage(); + } + } + + @Override + public JsonLogEntry toJsonLogEntry(LoggingEvent event) { + return new ReplicationJsonLogEntry(event); + } } }