Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@www.apache.org Received: (qmail 86110 invoked from network); 8 Oct 2004 08:33:14 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 8 Oct 2004 08:33:14 -0000 Received: (qmail 86818 invoked by uid 500); 8 Oct 2004 08:33:09 -0000 Delivered-To: apmail-jakarta-commons-dev-archive@jakarta.apache.org Received: (qmail 86738 invoked by uid 500); 8 Oct 2004 08:33:09 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Jakarta Commons Developers List" Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list commons-dev@jakarta.apache.org Received: (qmail 86722 invoked by uid 99); 8 Oct 2004 08:33:09 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [192.18.33.10] (HELO exchange.sun.com) (192.18.33.10) by apache.org (qpsmtpd/0.28) with SMTP; Fri, 08 Oct 2004 01:33:08 -0700 Received: (qmail 5133 invoked by uid 50); 8 Oct 2004 08:35:05 -0000 Date: 8 Oct 2004 08:35:05 -0000 Message-ID: <20041008083505.5132.qmail@nagoya.betaversion.org> From: bugzilla@apache.org To: commons-dev@jakarta.apache.org Cc: Subject: DO NOT REPLY [Bug 31597] New: - Incorrect test for availability of log4j X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT . ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://issues.apache.org/bugzilla/show_bug.cgi?id=31597 Incorrect test for availability of log4j Summary: Incorrect test for availability of log4j Product: Commons Version: 1.0.3 Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: Other Component: Logging AssignedTo: commons-dev@jakarta.apache.org ReportedBy: nntp_ds@fastmail.fm Corrrected code from LogFactoryImpl is below. Log4j is only available if the the class loader that loads Log4JLogger can load Logger. The orginal test is incorrect when both of these conditions are met a.) the context loader can load Logger ( directly or not ), and b.) Log4jLogger is actually loaded by a parent of the loader that loads Logger. The failure of course occurs because Log4jLogger has a direct dep on Logger. protected boolean isLog4JAvailable() { try { /* */ //loadClass("org.apache.log4j.Logger"); //loadClass("org.apache.commons.logging.impl.Log4JLogger"); /* */ loadClass("org.apache.commons.logging.impl.Log4JLogger").getClassLoader().loadClass( "org.apache.log4j.Logger" ); return (true); } catch (Throwable t) { return (false); } } --------------------------------------------------------------------- To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-dev-help@jakarta.apache.org