I'm new to log4j, but had similar problems sporadically. You are
configuring log4j programmatically, while I was using a config file. It
wasn't finding my config file until I learned that the log4j.xml file
needs to be somewhere in the classpath (even if it's just ".") or
explicitly referenced via a DOMConfigurator.configure(filename) for
log4j.xml, or PropertyConfigurator.configure(filename) for
log4j.properties, call. I was getting a cryptic (to me) error message.
Hopefully, an expert will chime in with more authoritative help.
--Wayne
Redefined Horizons wrote:
I was just about to write some debug code by hand in my Java classes
when I remembered reading about log4j. I checked out the website and
it seemed to do exactly what I needed, only better. I have decided to
give it a try.
However, after reading a couple of the tutorials and the online manual
I find myself running into some trouble. I'm trying to use a logger
with a FileAppender, but when I execute my program no messages are
ever written to the text file. I know the method with the logging code
is being executed because it appears in a stack trace from an
exception that is generated shortly after the logging code.
In my logging code I create a Logger, create a Layout, and then create
a FileAppender passing a simple layout, the name of a text file, and a
boolean value of true. I then associate the FileAppender with the
Logger and write two messages.
When I open the text file identified in my code it is empty.
What step am I missing? (I create a text file with the correct name
before executing the logging code.)
Thanks in advance for the help.
Scott Huey,
P.S. - I'm using the latest stable release of log4j, Eclipse 3.2.1 and
my operating system is Microsoft Windows.
Here is some of my logging code:
/*
* Set up logging code here.
*/
Logger myLogger =
Logger.getLogger(com.vividsolutions.jump.workbench.ui.LayerViewPanel.class);
SimpleLayout layout = new SimpleLayout();
FileAppender appender = null;
try
{
appender = new FileAppender(layout, "debug_log.txt", true);
}
catch(Exception thisException)
{
System.err.println(thisException.getMessage());
}
myLogger.addAppender(appender);
Iterator loopThrough = contentIDs.iterator();
myLogger.info("This is a test.");
while(loopThrough.hasNext())
{
Object contentID = loopThrough.next();
Class contentIDClass = contentID.getClass();
String className = contentIDClass.getName();
myLogger.fatal("The class we couldn't find a renderer for was: "
+ className);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]