summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/vespa/model/builder
diff options
context:
space:
mode:
authorArne Juul <arnej@yahooinc.com>2022-12-07 14:52:17 +0000
committerArne Juul <arnej@yahooinc.com>2022-12-08 12:08:11 +0000
commitf3f9215917f39badef2d41760b5e868b36108b4f (patch)
tree6c3f1d867616676ac84e1d31bc28c26609c8c029 /config-model/src/main/java/com/yahoo/vespa/model/builder
parent5397b656a350bf009c5a04e40a50f30d5d8ed406 (diff)
translate from user-friendly syntax
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/builder')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java35
1 files changed, 33 insertions, 2 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java
index ecd4baf6b5e..6ca4281a243 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminBuilderBase.java
@@ -21,7 +21,9 @@ import com.yahoo.vespa.model.admin.monitoring.builder.xml.MetricsBuilder;
import org.w3c.dom.Element;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.Optional;
/**
@@ -110,11 +112,40 @@ public abstract class DomAdminBuilderBase extends VespaDomBuilder.DomConfigProdu
}
}
+ private static Map<String, String> defaultLogLevels() {
+ var m = new HashMap<String,String>();
+ m.put("all", "off");
+ m.put("error", "on");
+ m.put("warning", "on");
+ m.put("info", "on");
+ m.put("config", "on");
+ m.put("event", "on");
+ m.put("debug", "off");
+ m.put("spam", "off");
+ return m;
+ }
+
private void addLoggingSpec(ModelElement loggingSpec, Admin admin) {
+ var currentLevels = defaultLogLevels();
if (loggingSpec == null) return;
String componentSpec = loggingSpec.requiredStringAttribute("name");
- String levelsModSpec = loggingSpec.requiredStringAttribute("levels");
- admin.addLogctlCommand(componentSpec, levelsModSpec);
+ String levels = loggingSpec.requiredStringAttribute("levels");
+ var levelsModSpec = new StringBuilder();
+ levelsModSpec.append("all=off");
+ for (String s : levels.split("[ ,]")) {
+ if (s.isEmpty()) continue;
+ String offOn = "on";
+ if (s.startsWith("-")) {
+ offOn = "off";
+ s = s.substring(1);
+ }
+ if (currentLevels.containsKey(s)) {
+ levelsModSpec.append(",").append(s).append("=").append(offOn);
+ } else {
+ throw new IllegalArgumentException("invalid level '" + s + "' in logging levels: " + levels);
+ }
+ }
+ admin.addLogctlCommand(componentSpec, levelsModSpec.toString());
}
void addLoggingSpecs(ModelElement loggingElement, Admin admin) {