log4j - Sample Program



We have seen how to create a configuration file. This chapter describe how to generate debug messages and log them in a simple text file.

Following is a simple configuration file created for our example. Let us revise it once again:

  • The level of the root logger is defined as DEBUG and attaches appender named FILE to it.

  • The appender FILE is defined as org.apache.log4j.FileAppender and writes to a file named log.out located in the log directory.

  • The layout pattern defined is %m%n, which means the printed logging message will be followed by a newline character.

The contents of log4j.properties file are as follows −

# Define the root logger with appender file
log = /usr/home/log4j
log4j.rootLogger = DEBUG, FILE

# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out

# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n

Using log4j in Java Program

The following Java class is a very simple example that initializes, and then uses, the log4j logging library for Java applications.

import org.apache.log4j.Logger;

import java.io.*;
import java.sql.SQLException;
import java.util.*;

public class log4jExample{

   /* Get actual class name to be printed on */
   static Logger log = Logger.getLogger(log4jExample.class.getName());
   
   public static void main(String[] args)throws IOException,SQLException{
      log.debug("Hello this is a debug message");
      log.info("Hello this is an info message");
   }
}

Compile and Execute

Here are the steps to compile and run the above-mentioned program. Make sure you have set PATH and CLASSPATH appropriately before proceeding for the compilation and execution.

All the libraries should be available in CLASSPATH and your log4j.properties file should be available in PATH. Follow the steps give below −

  • Create log4j.properties as shown above.

  • Create log4jExample.java as shown above and compile it.

  • Execute log4jExample binary to run the program.

You would get the following result inside /usr/home/log4j/log.out file −

Hello this is a debug message
Hello this is an info message
Advertisements