You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Jeff Thomas (Jira)" <ji...@apache.org> on 2022/11/09 12:27:00 UTC
[jira] [Created] (LOG4J2-3631) Different handling for "getLogger(Class)" and "Configurator.setLevel(Class,Level)" on inner class
Jeff Thomas created LOG4J2-3631:
-----------------------------------
Summary: Different handling for "getLogger(Class)" and "Configurator.setLevel(Class,Level)" on inner class
Key: LOG4J2-3631
URL: https://issues.apache.org/jira/browse/LOG4J2-3631
Project: Log4j 2
Issue Type: Bug
Components: Core
Affects Versions: 2.19.0
Environment: Java 11 (Temurin)
Maven
Reporter: Jeff Thomas
I have created a sample project with a simple JUnit test here:
[https://github.com/JWT007/log4j2_logLevelClass]
Basically I have an inner class and when I get a logger for that class I get the logger named.
{{Log4jLevelTest.InnerClass}}
and I can see its associated LoggerConfig of the same name.
{{If I call "Configurator.setLevel(InnerClass.class, Level.DEBUG)" it does not change the level of my logger but rather creates a new LoggerConfig with the following name:}}
{{Log4jLevelTest$InnerClass}}
Here the output of my sample test:
{code:java}
==================================================================================
Class name :: Log4jLevelTest$InnerClass
==================================================================================
Logger name :: Log4jLevelTest.InnerClass
Logger level :: INFO
Configured Loggers (1) ::
o Log4jLevelTest.InnerClass(INFO)
==================================================================================
>> Configurator.setLevel(Inner.class, Level.DEBUG)
Logger name :: Log4jLevelTest.InnerClass
Logger level :: INFO
Configured Loggers (1) ::
o Log4jLevelTest.InnerClass(INFO)
o Log4jLevelTest$InnerClass(DEBUG)
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)