aboutsummaryrefslogtreecommitdiffstats
path: root/vespalog
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2019-03-27 14:11:41 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2019-03-27 14:28:36 +0100
commit634983cc739b8f34cc85867fa200f889cbfda9c9 (patch)
treefdfd17599ca220c679944eafd91ea75940bdbb27 /vespalog
parentbc68193db9f3d28493483df7b1f210853045548d (diff)
Override equals() and hashCode() for LogMessage
Diffstat (limited to 'vespalog')
-rw-r--r--vespalog/abi-spec.json4
-rw-r--r--vespalog/src/main/java/com/yahoo/log/LogMessage.java22
2 files changed, 25 insertions, 1 deletions
diff --git a/vespalog/abi-spec.json b/vespalog/abi-spec.json
index c76d138e9cc..6f9f631c6a5 100644
--- a/vespalog/abi-spec.json
+++ b/vespalog/abi-spec.json
@@ -132,7 +132,9 @@
"public java.lang.String getPayload()",
"public static com.yahoo.log.LogMessage parseNativeFormat(java.lang.String)",
"public com.yahoo.log.event.Event getEvent()",
- "public java.lang.String toString()"
+ "public java.lang.String toString()",
+ "public boolean equals(java.lang.Object)",
+ "public int hashCode()"
],
"fields": []
},
diff --git a/vespalog/src/main/java/com/yahoo/log/LogMessage.java b/vespalog/src/main/java/com/yahoo/log/LogMessage.java
index 0eb446ec288..ac5b4fcfa0e 100644
--- a/vespalog/src/main/java/com/yahoo/log/LogMessage.java
+++ b/vespalog/src/main/java/com/yahoo/log/LogMessage.java
@@ -5,6 +5,7 @@ import com.yahoo.log.event.Event;
import com.yahoo.log.event.MalformedEventException;
import java.time.Instant;
+import java.util.Objects;
import java.util.OptionalLong;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -192,4 +193,25 @@ public class LogMessage
.append(payload).append("\n")
.toString();
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ LogMessage that = (LogMessage) o;
+ return processId == that.processId &&
+ threadId == that.threadId &&
+ Objects.equals(time, that.time) &&
+ Objects.equals(host, that.host) &&
+ Objects.equals(service, that.service) &&
+ Objects.equals(component, that.component) &&
+ Objects.equals(level, that.level) &&
+ Objects.equals(payload, that.payload) &&
+ Objects.equals(event, that.event);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(time, host, processId, threadId, service, component, level, payload, event);
+ }
}