diff options
author | Harald Musum <musum@yahooinc.com> | 2023-03-20 13:08:36 +0100 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2023-03-20 13:08:36 +0100 |
commit | 469663b3170d96fed3dba729e6666da60a47b2eb (patch) | |
tree | 6a68f3eb18d0cad12d75809fc39b0c4901bd8854 /vespalog | |
parent | 605fde0ceb8a8d1732efc18e61c3a0e8b657037b (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.java | 25 |
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. */ |