/* * ============================================================================ * The Apache Software License, Version 1.1 * ============================================================================ * * Copyright (C) 1999 The Apache Software Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without modifica- * tion, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * 3. The end-user documentation included with the redistribution, if any, must * include the following acknowledgment: "This product includes software * developed by the Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, if * and wherever such third-party acknowledgments normally appear. * * 4. The names "log4j" and "Apache Software Foundation" must not be used to * endorse or promote products derived from this software without prior * written permission. For written permission, please contact * apache@apache.org. * * 5. Products derived from this software may not be called "Apache", nor may * "Apache" appear in their name, without prior written permission of the * Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- * DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * This software consists of voluntary contributions made by many individuals * on behalf of the Apache Software Foundation. For more information on the * Apache Software Foundation, please see . * */ =========== Using log4j =========== 1) First untar or unzip the distribution file. 2) Assuming you chose to extract the distribution in to the PATH_OF_YOUR_CHOICE, untarring the distribution file should create a jakarta-log4j-VERSION directory, where VERSION is the log4j version number, under PATH_OF_YOUR_CHOICE. We will refer to the directory PATH_OF_YOUR_CHOICE/jakarta-log4j-VERSION/ as $LOG4J_HOME/. 3) Assuming you are using log4j version 1.2, add $LOG4J_HOME/dist/lib/log4j-1.2.jar to your CLASSPATH, 4) You can now test your installation by first compiling the following simple program. import org.apache.log4j.Logger; import org.apache.log4j.BasicConfigurator; public class Hello { static Logger logger = Logger.getLogger(Hello.class); public static void main(String argv[]) { BasicConfigurator.configure(); logger.debug("Hello world."); logger.info("What a beatiful day."); } } After compilation, try it out by issuing the command java Hello You should see log statements appearing on the console. 5) Refer to the javadoc documentation and the user manual on how to include log statements in your own code. ========= JAR files ========= The log4j distribution comes with one jar file: log4j-VERSION.jar under the LOG4J_HOME/dist/lib/ directory. This jar file contains all the class files of the log4j project, except test cases and classes from the "examples" and "org.apache.log4j.performance" packages. ================== log4j dependencies ================== Log4j is based on JDK 1.1 with the following additional requirements: ---------------------------- Package org.apache.log4j.xml ---------------------------- The DOMConfigurator is based on the DOM Level 1 API. The DOMConfigurator.configure(Element) method will work with any XML parser that will pass it a DOM tree. The DOMConfigurator.configure(String filename) method and its variants require a JAXP compatible XMLparser, for example the Apache Xerces parser. Compiling the DOMConfigurator requires the presence of a JAXP parser in the classpath. Given that Ant already ships with a compatible XML parser, you do *not* need to worry about setting the parser when building, i.e. compiling, log4j. ------------ SMTPAppender ------------ The SMTPAppender relies on the JavaMail API. It has been tested with JavaMail API version 1.2. The JavaMail API requires the JavaBeans Activation Framework package. You can download the JavaMail API at: http://java.sun.com/products/javamail/ and the JavaBeans Activation Framework at: http://java.sun.com/beans/glasgow/jaf.html ----------- JMSAppender ----------- The JMSAppender requires the JMS API as well as JNDI. The JMS API is usually bundled with the products of the vendors listed under http://java.sun.com/products/jms/vendors.html ----------------------- JUnit testing framework ----------------------- Log4j uses the JUnit framework version 3.7 for internal unit testing. If you want to compile the source code in the tests/ directory, then you will need JUnit. JUnit is available from: http://www.junit.org ============== Building log4j ============== Like most java appilicatios today, log4j relies on ANT as its build tool. ANT is availale from "http://jakarta.apache.org/ant/". ANT requires a build file called build.xml which is part of this distribution. Required components from other projects are specified in the build.properties and example of which is supplied in the build.properties.sample file. In case of problems send an e-mail note to log4j-user@jakarta.apache.org. Please do not directly e-mail any log4j developers. The answer to your question might be useful to other users. Moreover, there are many knowledgeable users on the log4j-user mailing lists who can quickly answer your questions.