[ https://issues.apache.org/jira/browse/LOG4J2-1180?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17464685#comment-17464685 ]
Michael Vorburger commented on LOG4J2-1180: ------------------------------------------- {quote}[~garydgregory], [~ralph.go...@dslextreme.com], [~mikaelstaldal] can you take a look at SLF4JLoggerContext? It looks like the {{getLogger(String, MessageFactory)}} method currently ignores the MessageFactory, and when I try to fix that in the spirit of LOG4J2-1180, the test in log4j-to-slf4j org.a.l.slf4j.LoggerTest breaks... (getLogger_String_MessageFactoryMismatchNull and getLogger_String_MessageFactoryMismatch) Is there something special about SLF4J Loggers that they must be unique by name only, not by name/MessageFactory? Or are the current implementation and the test simply wrong - LOG4J2-1180 was not addressed correctly here? {quote} https://github.com/apache/logging-log4j2/pull/651/ fixes this FYI. > Logger cache does not account for message factory > ------------------------------------------------- > > Key: LOG4J2-1180 > URL: https://issues.apache.org/jira/browse/LOG4J2-1180 > Project: Log4j 2 > Issue Type: Bug > Components: API > Affects Versions: 2.4.1 > Reporter: Gary D. Gregory > Assignee: Gary D. Gregory > Priority: Major > Fix For: 2.5, 2.6.1 > > Attachments: LOG4J2-1180-ggregory.patch, LOG4J2-1180.diff > > > The Logger cache does not account for a logger's message factory. > If you call {{LogManager.getLogger(Class|Object|String, MessageFactory)}} and > then call a getLogger() API again with the same {{Class|Object|String}} a > different message factory, you get the Logger that was first created which > means you will not get the proper formatted messages. > For example: > {code:java} > Logger loggerA1 = LogManager.getLogger("A", messageFactory1); > Logger loggerA2 = LogManager.getLogger("A", messageFactory2); > {code} > loggerA1 is the same as loggerA2. > This is a problem if two unrelated code bases (jars) both the same Logger > names|objects|classes. -- This message was sent by Atlassian Jira (v8.20.1#820001)