GitHub user mpritham edited a discussion: Should CoreLogger override `addHandler`/`removeHandler` to avoid warnings from PR #3125?
# Context PR #3125 added overrides to ApiLogger for JUL mutator methods (addHandler, removeHandler, setUseParentHandlers, etc.) that log a WARN via StatusLogger: ```Ignoring call to `j.u.l.Logger.addHandler(...)`, since the Log4j API does not provide methods to modify the underlying implementation.``` I understand how this makes sense for [ApiLogger](https://github.com/apache/logging-log4j2/blob/2.x/log4j-jul/src/main/java/org/apache/logging/log4j/jul/ApiLogger.java): the JavaDoc describes it as the "Log4j API implementation" that explicitly does not use java.util.logging.Handler, and it only holds a reference to ExtendedLogger (a log4j-api type). My understanding is that [CoreLogger](https://github.com/apache/logging-log4j2/blob/2.x/log4j-jul/src/main/java/org/apache/logging/log4j/jul/CoreLogger.java) is an implementation of a JUL Logger with direct access to `org.apache.logging.log4j.core.Logger`, `Configurator`, and `LoggerConfig`. It already overrides `setLevel`, `getLevel`, `setUseParentHandlers`, `getUseParentHandlers`, and `getParent` with working implementations. However, `CoreLogger` doesn't override `addHandler` or `removeHandler`, so it inherits `ApiLogger`'s new warning behavior. I'm using CoreLoggerAdapter via: ``` log4j.jul.LoggerAdapter = org.apache.logging.log4j.jul.CoreLoggerAdapter ``` This means that even with `CoreLoggerAdapter` configured, calls like `SLF4JBridgeHandler.install()` (which calls `Logger.getLogger("").addHandler(...))` produce the warning. # Question Was this intentional, or would it make sense for `CoreLogger` to override `addHandler`/`removeHandler` as well — either with a working implementation or at least without the warning? Thanks for all the work on Log4j! GitHub link: https://github.com/apache/logging-log4j2/discussions/4066 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected]
