[
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)