log4j - 示例程序

我们已经了解了如何创建配置文件。本章介绍如何生成调试消息并将其记录在简单的文本文件中。

以下是为我们的示例创建的简单配置文件。我们再修改一下:

  • 根记录器的级别定义为DEBUG,并将名为FILE的附加器附加到它。

  • 附加器FILE定义为org.apache.log4j.FileAppender,并写入位于log目录中名为log.out的文件。

  • 定义的布局模式为%m%n,这意味着打印的日志消息后面会跟着一个换行符。

log4j.properties文件的内容如下−

# 定义带有附加器文件的根记录器
log = /usr/home/log4j
log4j.rootLogger = DEBUG, FILE

# 定义文件附加器
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out

# 定义文件附加器的布局
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n

在 Java 程序中使用 log4j

以下 Java 类是一个非常简单的示例,它初始化 Java 应用程序的 log4j 日志记录库,然后使用它。

import org.apache.log4j.Logger;

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

public class log4jExample{

   /* 获取要打印的实际类名 */
   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");
   }
}

编译并执行

以下是编译并运行上述程序的步骤。在继续编译和执行之前,请确保已正确设置 PATHCLASSPATH

所有库都应在 CLASSPATH 中可用,并且您的 log4j.properties 文件应在 PATH 中可用。按照下面给出的步骤 −

  • 如上所示创建 log4j.properties。

  • 如上所示创建 log4jExample.java 并编译它。

  • 执行 log4jExample 二进制文件以运行该程序。

您将在 /usr/home/log4j/log.out 文件中得到以下结果 −

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