Configurators
Different Configurators available in Log4J:
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.PropertyConfigurator;
import org.apache.log4j.xml.DOMConfigurator;
Sample usage (eg. of DOMConfigurator):
import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;
...
private static final Logger logger = Logger.getLogger(...);
...
DOMConfigurator.configure("log4j.xml");
...
logger.info("Test Log");
Pattern Optimized for Debugging
This pattern is optimized for debugging. Patterns like %C (fully qualified class name), %M (invoking method) and %L (line number) are known to slow down the application.
log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE};%C %M %L; %x %-5p [%c{3}] %m%n
Sample Property
Source: http://www.javabeat.net/tips/82-baisc-steps-to-configure-log4j-using-xml-and.html
# Set root logger level to DEBUG and its only appender to Appender1.
log4j.rootLogger=INFO, Appender1,Appender2
# Appender1 is set to be a ConsoleAppender.
log4j.appender.Appender1=org.apache.log4j.ConsoleAppender
log4j.appender.Appender2=org.apache.log4j.RollingFileAppender
log4j.appender.Appender2.File=sample.log
# Appender2 uses PatternLayout.
log4j.appender.Appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
log4j.appender.Appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender2.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
Sample XML Configuration
Source: http://www.javabeat.net/tips/82-baisc-steps-to-configure-log4j-using-xml-and.html
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="INFO" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c{1}] %m %n" />
</layout>
</appender>
<appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="Threshold" value="INFO" />
<param name="File" value="sample.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c{1}] %m %n" />
</layout>
</appender>
<logger name="javabeat.net.log4j" additivity="false" >
<level value="INFO" />
<appender-ref ref="consoleAppender"/>
<appender-ref ref="fileAppender"/>
</logger>
</log4j:configuration>
|