diff options
Diffstat (limited to 'config-model/src')
3 files changed, 41 insertions, 5 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java index 317c3646dde..8c039c352f9 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java @@ -24,12 +24,14 @@ import com.yahoo.vespa.model.admin.monitoring.Monitoring; import com.yahoo.vespa.model.admin.monitoring.builder.Metrics; import com.yahoo.vespa.model.filedistribution.FileDistributionConfigProducer; import com.yahoo.vespa.model.filedistribution.FileDistributionConfigProvider; - import java.io.Serializable; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Optional; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; import static com.yahoo.vespa.model.admin.monitoring.MetricSet.empty; @@ -41,8 +43,6 @@ import static com.yahoo.vespa.model.admin.monitoring.MetricSet.empty; */ public class Admin extends TreeConfigProducer<AnyConfigProducer> implements Serializable { - private static final long serialVersionUID = 1L; - private final boolean isHostedVespa; private final Monitoring monitoring; private final List<Configserver> configservers = new ArrayList<>(); @@ -101,6 +101,7 @@ public class Admin extends TreeConfigProducer<AnyConfigProducer> implements Seri this.multitenant = multitenant; this.fileDistribution = new FileDistributionConfigProducer(parent); this.applicationType = applicationType; + this.logctlSpecs.addAll(setDefaultLogctlSpecs()); } public Configserver getConfigserver() { return defaultConfigserver; } @@ -331,4 +332,16 @@ public class Admin extends TreeConfigProducer<AnyConfigProducer> implements Seri public ApplicationType getApplicationType() { return applicationType; } + private static Set<LogctlSpec> setDefaultLogctlSpecs() { + // Turn off info logging for all container services for some classes (unimportant log messages that create noise in vespa log) + return Stream.of("configserver", "container", "container-clustercontroller", "logserver-container", "metricsproxy-container").map( + service -> List.of( + new LogctlSpec(service + ":com.yahoo.vespa.spifly.repackaged.spifly.BaseActivator", "info=off"), + new LogctlSpec(service + ":org.eclipse.jetty.server.Server", "info=off"), + new LogctlSpec(service + ":org.eclipse.jetty.server.handler.ContextHandler", "info=off"), + new LogctlSpec(service + ":org.eclipse.jetty.server.AbstractConnector", "info=off"))) + .flatMap(List::stream) + .collect(Collectors.toSet()); + } + } 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 57113ff794f..69c64c97316 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 @@ -23,9 +23,7 @@ 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; /** diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java index d060fdfd3d2..b81576d9c5c 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java @@ -17,6 +17,7 @@ import com.yahoo.config.provision.Zone; import com.yahoo.container.jdisc.config.HealthMonitorConfig; import com.yahoo.net.HostName; import com.yahoo.vespa.config.core.StateserverConfig; +import com.yahoo.vespa.model.LogctlSpec; import com.yahoo.vespa.model.Service; import com.yahoo.vespa.model.VespaModel; import com.yahoo.vespa.model.container.ApplicationContainerCluster; @@ -24,6 +25,7 @@ import com.yahoo.vespa.model.test.utils.VespaModelCreatorWithFilePkg; import com.yahoo.vespa.model.test.utils.VespaModelCreatorWithMockPkg; import org.junit.jupiter.api.Test; +import java.util.List; import java.util.Set; import static com.yahoo.config.model.api.container.ContainerServiceType.METRICS_PROXY_CONTAINER; @@ -243,4 +245,27 @@ public class AdminTestCase { assertTrue(configIds.contains("hosts/myhost0/logforwarder"), configIds.toString()); } + @Test + void testDefaultLogCtlSpecs() { + String hosts = "<hosts>" + + " <host name=\"myhost0\">" + + " <alias>node0</alias>" + + " </host>" + + "</hosts>"; + + String services = "<services>" + + " <admin version='2.0'>" + + " <adminserver hostalias='node0' />" + + " </admin>" + + "</services>"; + + VespaModel vespaModel = new VespaModelCreatorWithMockPkg(hosts, services).create(); + List<LogctlSpec> logctlSpecs = vespaModel.getAdmin().getLogctlSpecs(); + assertEquals(20, logctlSpecs.size()); // Default logctl specs: 4 logctl specs for 5 services => 20 + assertEquals(1, logctlSpecs + .stream() + .filter(l -> (l.componentSpec.equals("configserver:com.yahoo.vespa.spifly.repackaged.spifly.BaseActivator") + && l.levelsModSpec.equals("info=off"))).count()); + } + } |