Hi Antonio
I suggest to you the following.
1. Take NetBeans or any other IDE and catch the log4j open sources as a project.
2. Build log4j yourself,
3. JDK 6.0, maven 2.2.1 and ant 1.7 and a few other lesser important things is
all you need
4. Do BUILD using NetBeans. / you can use also from a dos window mvn install
comand
5. Select build.xml and ask for the javadoc ANT target to get doc and API's
built
6. Then start your TrowableProperty or DOMConfiguratir development
basically you have to consider a few Configurators
BasicConfigurator
Is extended by the
PropertyConfigurator(reading config data
from a property file)
OR
DOMConfigurator (reading config data from a XML
file)
Either of the two can be extended by your own
TrowablePropertyConfigurator
OR
TrowableDOMConfigurator
You may develop your own TrowablePropertyConfigurator or
TrowableDOMConfigurator and engage it as shown in the Java Class below but this
time inside a try catch block.
So where is your TrowablePropertyConfigurator engaged?
Look at the file Log4JTest.java written by ThomasFenner under
./contribs/ThomasFenner (here included as reference)
You can see that this test catches exceptions if drives are not installed? OK?
And you can see which and how the PropertyConfigurator is engaged?
Now, at this stage we would engage your own TrowablePropertyConfigurator or
your own TrowableDOMConfigurator
import org.apache.log4j.*;
import java.sql.*;
import java.lang.*;
import java.util.*;
public class Log4JTest
{
// Create a category instance for this class
static Category cat = Category.getInstance(Log4JTest.class.getName());
public static void main(String[] args)
{
// Ensure to have all necessary drivers installed !
try
{
Driver d =
(Driver)(Class.forName("oracle.jdbc.driver.OracleDriver").newInstance());
DriverManager.registerDriver(d);
}
catch(Exception e){}
// Set the priority which messages have to be logged
cat.setPriority(Priority.INFO);
try
{
// Configuration with configuration-file
//PropertyConfigurator.configure("log4jtestprops.txt");
TrowablePropertyConfigurator.configure("log4jtestprops.txt");
}
catch(Exception e){}
// These messages with Priority >= setted priority will be logged to the
database.
cat.debug("debug"); //this not, because Priority DEBUG is less
than INFO
cat.info("info");
cat.error("error");
cat.fatal("fatal");
}
}
For further understanding:
Go to the ./docs/api/org(apache/log4j/PropertyConfigurator.html
Open this and study what the PropertyConfigurator does for you?
And you will find you confirmed that no exceptions are raise by log4j's
PropertyConfigurator for whatever reason.
Can you extend the PropertyConfigurator and extend and implement
TrowablePropertyConfigurator ! Certainly you can.
Finally do not forget to ask somebody from the developers group to help you
check in your working/tested source code.
Maybe somebody more know to the subject can comment my suggestions
Josef
-Ursprüngliche Nachricht-
Von: Antonio Rodriges [mailto:antonio@gmail.com]
Gesendet: Montag, 8. August 2011 11:05
An: log4j-user@logging.apache.org
Betreff: Re: Re: Verification of log4j configuration file
Thank you, Josef,
however I would like to force log4j return me an error code or throw
an exception (however docs says it never throws anything) in case of a
malformed config file to stop my application. Otherwise all logs will
cause exceptions and will not appear anywhere.
What is the best practice for an application to behave in case of
malformed log4j conf file?
-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org
-
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org