Meyyappan has posted 101 posts at DZone. View Full User Profile

Log4j XML Configuration

  • submit to reddit

We can also use XML file to configure log4j. In the previous example we saw how we can do this using the properties file, everything remains the same except that we use the XML configuration file here.

The following code shows the file we used in the previous example.

log4j.rootLogger=DEBUG, CA
log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

The following code shows the corresponding log4j.xml file.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j=''>
	<appender name="CA" class="org.apache.log4j.ConsoleAppender">
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n" />
		<level value="debug" />
		<appender-ref ref="CA" />

To configure log4j using xml file we use DOMConfigurator.configure() method. 

package com.vaannila.helloworld;

import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;

public class HelloWorld {

	static Logger logger = Logger.getLogger(HelloWorld.class);
	public static void main(String[] args) {
		logger.debug("Sample debug message");"Sample info message");
		logger.warn("Sample warn message");
		logger.error("Sample error message");
		logger.fatal("Sample fatal message");

Here is the output of the above code. 

0    [main] DEBUG com.vaannila.helloworld.HelloWorld  - Sample debug message
0    [main] INFO  com.vaannila.helloworld.HelloWorld  - Sample info message
0    [main] WARN  com.vaannila.helloworld.HelloWorld  - Sample warn message
0    [main] ERROR com.vaannila.helloworld.HelloWorld  - Sample error message
0    [main] FATAL com.vaannila.helloworld.HelloWorld  - Sample fatal message

You can download the log4j configuration file here.

Source: Download

Source + Lib: Download


Published at DZone with permission of its author, Meyyappan Muthuraman.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)