Re: what is wrong with the logging!!
David Blacka <[email protected]> Tue, 12 Oct 2004 10:26:56 -0400
| Newsgroups | gmane.network.beep.beepcore.java.general |
|---|---|
| Organization | VeriSign, Inc. |
| Message-ID | <[email protected]> |
noe wrote:
> Hi People,
> Anybody can help me with the below problem it is been days that i
> couldn't solve it.I really need some help! Thanks...
>
>
> org.apache.commons.logging.LogConfigurationException:
> java.lang.NullPointerException
> at
> org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:558)
> at
> org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:355)
> at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:409)
> at mankana.<init>(mankana.java:39)
> at mankana.main(mankana.java:98)
> Caused by: java.lang.NullPointerException
> at
> org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:543)
See <http://jakarta.apache.org/commons/logging/guide.html>
Commons logging is a wrapper around a number of possible different
logging systems, the most popular two are Log4J and the
java.util.logging.* classes in Java 1.4. Beepcore-Java uses
commons-logging so that folks using it can get beepcore-j to log using
their application's logging system, rather than forcing you to use
beepcore-j's logging system.
In your specific case, I cannot tell exactly why you are getting
NullPointerExceptions. But, I suggest you put the log4j
(<http://logging.apache.org/log4j/docs/>) package in your classpath, as
that is the most natural fit for commons-logging.
I will admit that figuring out how to configure commons-logging to do
exactly what you want can be confusing. The technique that has worked
best for me is to configure log4j before any of the commons-logging code
gets called. (Actually, when using log4j, I don't think you need to
configure it before the commons-logging stuff is called, but if you are
going to use a different logging system, you need to set that up first,
I believe).
For example:
public static void main(String[] args)
{
...
BasicConfigurator.configure();
// manually set the logging level to debug.
Logger rootLogger = Logger.getRootLogger();
rootLogger.setLevel(Level.DEBUG);
Log log = LogFactory.getLog(YourClass.class);
log.debug("debug logging turned on");
}
--
David Blacka <[email protected]>
Sr. Engineer VeriSign Applied Research
-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl