aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <valerij92@gmail.com>2021-04-26 10:55:33 +0200
committerValerij Fredriksen <valerij92@gmail.com>2021-04-26 10:55:33 +0200
commit1e719fd8d0c97d669788dfa6c7dacc7fc292c954 (patch)
tree8ddf3e1cd25b98402f3e2b68e4045487f77ae237
parent21e65840ea003e2f509a59eff0486915e5221527 (diff)
Add DeployLogger::logApplicationPackage
-rw-r--r--config-model-api/abi-spec.json3
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/DeployLogger.java8
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/DeployHandlerLogger.java20
3 files changed, 28 insertions, 3 deletions
diff --git a/config-model-api/abi-spec.json b/config-model-api/abi-spec.json
index ca736dd90d8..bdf2b53bc92 100644
--- a/config-model-api/abi-spec.json
+++ b/config-model-api/abi-spec.json
@@ -180,7 +180,8 @@
"abstract"
],
"methods": [
- "public abstract void log(java.util.logging.Level, java.lang.String)"
+ "public abstract void log(java.util.logging.Level, java.lang.String)",
+ "public void logApplicationPackage(java.util.logging.Level, java.lang.String)"
],
"fields": []
},
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/DeployLogger.java b/config-model-api/src/main/java/com/yahoo/config/application/api/DeployLogger.java
index 61cab2f6ce7..7271f3a394e 100644
--- a/config-model-api/src/main/java/com/yahoo/config/application/api/DeployLogger.java
+++ b/config-model-api/src/main/java/com/yahoo/config/application/api/DeployLogger.java
@@ -10,6 +10,14 @@ import java.util.logging.Level;
*/
public interface DeployLogger {
+ /** Log a message unrelated to the application package, e.g. internal error/status. */
void log(Level level, String message);
+ /**
+ * Log a message related to the application package. These messages should be actionable by the user, f.ex. to
+ * signal usage of invalid/deprecated syntax
+ */
+ default void logApplicationPackage(Level level, String message) {
+ log(level, message);
+ }
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/DeployHandlerLogger.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/DeployHandlerLogger.java
index 799b9ae21a8..9900557f000 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/DeployHandlerLogger.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/DeployHandlerLogger.java
@@ -40,12 +40,28 @@ public class DeployHandlerLogger implements DeployLogger {
if (level.intValue() <= LogLevel.DEBUG.intValue() && !verbose)
return;
+ logJson(level, message);
+ // Also tee to a normal log, Vespa log for example, but use level fine
+ log.log(Level.FINE, () -> prefix + message);
+ }
+
+ @Override
+ public void logApplicationPackage(Level level, String message) {
+ if (level.intValue() <= LogLevel.DEBUG.intValue() && !verbose)
+ return;
+
+ Cursor entry = logJson(level, message);
+ entry.setBool("applicationPackage", true);
+ // Also tee to a normal log, Vespa log for example, but use level fine
+ log.log(Level.FINE, () -> prefix + message);
+ }
+
+ private Cursor logJson(Level level, String message) {
Cursor entry = logroot.addObject();
entry.setLong("time", System.currentTimeMillis());
entry.setString("level", level.getName());
entry.setString("message", message);
- // Also tee to a normal log, Vespa log for example, but use level fine
- log.log(Level.FINE, () -> prefix + message);
+ return entry;
}
public Slime slime() {