[ https://issues.apache.org/jira/browse/LOG4J2-1180?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14985251#comment-14985251 ]
Mikael Ståldal edited comment on LOG4J2-1180 at 11/2/15 3:43 PM: ----------------------------------------------------------------- In LoggerContext.java and SimpleLoggerContext.java: {code} // The loggers map key is the logger name plus the messageFactory FQCN (if any). String key = name; if (messageFactory != null) { key = LoggerContextKey.create(name, messageFactory); } {code} Shouldn't this be: {code} String key; if (messageFactory != null) { key = LoggerContextKey.create(name, messageFactory); } else { key = LoggerContextKey.create(name); } {code} was (Author: mikaelstaldal): In LoggerContext.java and SimpleLoggerContext.java: {code} // The loggers map key is the logger name plus the messageFactory FQCN (if any). String key = name; if (messageFactory != null) { key = LoggerContextKey.create(name, messageFactory); } {code} Shouldn't this be: {code} String key; if (messageFactory != null) { key = LoggerContextKey.create(name, messageFactory); } else { key = LoggerContextKey.create(name); {code} > 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 Gregory > Assignee: Gary Gregory > Fix For: 2.5 > > Attachments: 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 (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org