summaryrefslogtreecommitdiffstats
path: root/vespalog
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-03-20 13:08:36 +0100
committerHarald Musum <musum@yahooinc.com>2023-03-20 13:08:36 +0100
commit469663b3170d96fed3dba729e6666da60a47b2eb (patch)
tree6a68f3eb18d0cad12d75809fc39b0c4901bd8854 /vespalog
parent605fde0ceb8a8d1732efc18e61c3a0e8b657037b (diff)
Reduce log level for some loggers
This is needed to reduce log level for standalone containers, where setting log level cannot be done by config sentinel (since these containers are not started by config sentinel)
Diffstat (limited to 'vespalog')
-rw-r--r--vespalog/src/main/java/com/yahoo/log/VespaLogHandler.java25
1 files changed, 21 insertions, 4 deletions
diff --git a/vespalog/src/main/java/com/yahoo/log/VespaLogHandler.java b/vespalog/src/main/java/com/yahoo/log/VespaLogHandler.java
index de39e603175..e51ef5be73d 100644
--- a/vespalog/src/main/java/com/yahoo/log/VespaLogHandler.java
+++ b/vespalog/src/main/java/com/yahoo/log/VespaLogHandler.java
@@ -2,6 +2,7 @@
package com.yahoo.log;
import java.io.UnsupportedEncodingException;
+import java.util.Set;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.StreamHandler;
@@ -47,10 +48,10 @@ class VespaLogHandler extends StreamHandler {
*/
@Override
public synchronized void publish(LogRecord record) {
- Level level = record.getLevel();
- String component = record.getLoggerName();
+ String loggerName = record.getLoggerName();
+ Level level = possiblyReduceLogLevel(loggerName, record.getLevel());
- LevelController ctrl = getLevelControl(component);
+ LevelController ctrl = getLevelControl(loggerName);
if (!ctrl.shouldLog(level)) {
return;
}
@@ -73,12 +74,28 @@ class VespaLogHandler extends StreamHandler {
closeFileTarget();
}
+ // Reduce log level from info level to fine level for some loggers
+ private Level possiblyReduceLogLevel(String loggerName, Level level) {
+ if (loggerName == null)
+ return level;
+
+ if (Set.of("com.yahoo.vespa.spifly.repackaged.spifly.BaseActivator",
+ "org.eclipse.jetty.server.Server",
+ "org.eclipse.jetty.server.handler.ContextHandler",
+ "org.eclipse.jetty.server.AbstractConnector")
+ .contains(loggerName)
+ && level == Level.INFO)
+ return Level.FINE;
+
+ return level;
+ }
+
LevelController getLevelControl(String component) {
return repo.getLevelController(component);
}
/**
- * Initalize the handler. The main invariant is that
+ * Initialize the handler. The main invariant is that
* outputStream is always set to something valid when this method
* returns.
*/