[ https://issues.apache.org/jira/browse/HIVE-15531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15803961#comment-15803961 ]
Dhiraj Kumar commented on HIVE-15531: ------------------------------------- [~sershe] I thought about test cases with below approach a) Manipulating classpath at runtime to put log4j 1.2 before log4j 2.4 libraries and showcasing the fact that commons-log will pick older version of logger. b) Keeping log4j 1.2 in beginning and putting log4j-jcl anywhere in classpath and showing that commons-logging will pick Log4j 2.4 The problem with this approach I have to manipulate classpath at runtime which might affect other tests downstream. Moreover, I am not able to find a clean solution to do it. Would a trivial test like this suffice? {code} Log log = LogFactory.getLog(CommonsLoggingTest.class); assertEquals(log.getClass(),org.apache.logging.log4j.jcl.Log4jLog.class); {code} > Hive breaks Hadoop commons logging with log4j2 > ---------------------------------------------- > > Key: HIVE-15531 > URL: https://issues.apache.org/jira/browse/HIVE-15531 > Project: Hive > Issue Type: Bug > Affects Versions: 2.1.0 > Reporter: Dhiraj Kumar > Assignee: Dhiraj Kumar > Priority: Minor > Attachments: HIVE-15531.patch > > > Hadoop (2.7), which is using Commons-logging is not compatible with log4j2 > without bridge. > The bridge is missing in Hive. > This leads to a problem whereby commons-logging initialises a log4j (1.2) > version Logger, does not configure it properly since configuration for it is > missing and sends logging output to stdout (the default). -- This message was sent by Atlassian JIRA (v6.3.4#6332)