From 6d5ee527969472ba894f6ade5cc76a5fe7b99dea Mon Sep 17 00:00:00 2001 From: Przemyslaw Gomulka Date: Mon, 15 Jul 2019 10:52:01 +0200 Subject: [PATCH] draft for logging --- distribution/src/config/log4j2.properties | 1 + .../routing/allocation/AllocationService.java | 1 + .../allocation/ClusterChangeLogMessage.java | 19 +++++++++++++++++++ 3 files changed, 21 insertions(+) create mode 100644 server/src/main/java/org/elasticsearch/cluster/routing/allocation/ClusterChangeLogMessage.java diff --git a/distribution/src/config/log4j2.properties b/distribution/src/config/log4j2.properties index d3398fa1b5d87..4957e4310ea0e 100644 --- a/distribution/src/config/log4j2.properties +++ b/distribution/src/config/log4j2.properties @@ -15,6 +15,7 @@ appender.rolling.name = rolling appender.rolling.fileName = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}_server.json appender.rolling.layout.type = ESJsonLayout appender.rolling.layout.type_name = server +appender.rolling.layout.esmessagefields=previous.health,current.health,reason appender.rolling.filePattern = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}-%d{yyyy-MM-dd}-%i.json.gz appender.rolling.policies.type = Policies diff --git a/server/src/main/java/org/elasticsearch/cluster/routing/allocation/AllocationService.java b/server/src/main/java/org/elasticsearch/cluster/routing/allocation/AllocationService.java index 9b22e63cf9ae5..20b67adb1d609 100644 --- a/server/src/main/java/org/elasticsearch/cluster/routing/allocation/AllocationService.java +++ b/server/src/main/java/org/elasticsearch/cluster/routing/allocation/AllocationService.java @@ -386,6 +386,7 @@ private void logClusterHealthStateChange(ClusterStateHealth previousStateHealth, ClusterHealthStatus previousHealth = previousStateHealth.getStatus(); ClusterHealthStatus currentHealth = newStateHealth.getStatus(); if (!previousHealth.equals(currentHealth)) { + logger.info(new ClusterChangeLogMessage(previousHealth,currentHealth,reason)); logger.info("Cluster health status changed from [{}] to [{}] (reason: [{}]).", previousHealth, currentHealth, reason); } } diff --git a/server/src/main/java/org/elasticsearch/cluster/routing/allocation/ClusterChangeLogMessage.java b/server/src/main/java/org/elasticsearch/cluster/routing/allocation/ClusterChangeLogMessage.java new file mode 100644 index 0000000000000..be9a8c37128a1 --- /dev/null +++ b/server/src/main/java/org/elasticsearch/cluster/routing/allocation/ClusterChangeLogMessage.java @@ -0,0 +1,19 @@ +package org.elasticsearch.cluster.routing.allocation; + +import org.elasticsearch.cluster.health.ClusterHealthStatus; +import org.elasticsearch.common.logging.ESLogMessage; + +import java.util.Map; + +public class ClusterChangeLogMessage extends ESLogMessage { + + public ClusterChangeLogMessage(ClusterHealthStatus previousHealth, ClusterHealthStatus currentHealth, String reason) { + super(fieldMap(previousHealth, currentHealth, reason), "Cluster health status changed."); + } + + private static Map fieldMap(ClusterHealthStatus previousHealth, ClusterHealthStatus currentHealth, String reason) { + + return Map.of("previous.health", previousHealth, "current.health", currentHealth, "reason", reason); + } +} +