How to use Log4J instead of Avalon Logkit for Cocoon

This is written based on the 2.1.6-DEV version in SVN at 2004/10/13, so things might be different before or after this version.

  1. add this to web.xml or, if it is already in comments, uncomment it:
  <init-param>
        <param-name>logger-class</param-name>
        <param-value>org.apache.avalon.excalibur.logger.Log4J!LoggerManager</param-value>
  </init-param>

2. add log4j.jar in WEB-INF/lib if needed

3. create WEB-INF/classes/log4j.properties to setup logging, or uncomment the following lines in web.xml to define the location of log4j.xconf (i.e. the XML version of the log4j.properties file). A sample log4j.xconf is already provided in WEB-INF.

      <init-param>
        <param-name>log4j-config</param-name>
        <param-value>/WEB-INF/log4j.xconf</param-value>
      </init-param>

4. (added by BertrandDelacretaz(smile) Another useful logging trick is to use log4j for the output of ant as well, by setting these options on the ant command line:

   -listener org.apache.tools.ant.listener.Log4jListener
   -Dlog4j.configuration=file:/path-to-log4j-config

This is very useful for crazy folk like me who start their production systems via ant (wink)

Note: Make sure the path to the logfile exists. Log4J can create a non-existing file, but not non-existing directories!

  • No labels