Log4j 之 以编程方式配置Appender

Log4j是一个简单而灵活的日志记录框架。日志记录为开发人员提供了有关应用程序故障的详细上下文。使用log4j可以在运行时启用日志记录,而无需修改应用程序二进制文件。log4j软件包的设计目的是使这些语句可以保留在出厂代码中,而不会造成高昂的性能成本。

Log4j允许记录请求打印到多个目标。用log4j来说,输出目标称为appender。它们从控制台,文件,GUI组件,远程套接字服务器到JMS不等。

在上一篇文章中,我们了解了如何使用maven在应用程序中配置log4j依赖关系。在这篇文章中,我通过显示在log4j中配置附加程序的编程方式来转发讨论。

步骤1)创建Maven项目并更新依赖项

这些步骤,我们已经在我的上一篇文章中看到了。如果您没有完成基本的log4j配置,请按照前一篇文章中的前3个步骤进行操作。

步骤2)在根记录器中添加ConsoleAppender和RollingFileAppender

我编写了一个示例代码来演示如何以编程方式添加控制台和文件附加器。我将建议您使用该代码,并为添加器添加各种选项以查看其效果。这是学习事物的好方法。

package com.how2codex;

import java.io.IOException;

import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.RollingFileAppender;

public class ProgrammticallyConfigureAppenderExample {

private static final Logger log = Logger.getLogger(ProgrammticallyConfigureAppenderExample.class);

public static void main(String[] args)
{
//This is the root logger provided by log4j
Logger rootLogger = Logger.getRootLogger();
rootLogger.setLevel(Level.DEBUG);

//Define log pattern layout
PatternLayout layout = new PatternLayout("%d{ISO8601} [%t] %-5p %c %x - %m%n");

//Add console appender to root logger
rootLogger.addAppender(new ConsoleAppender(layout));
try
{
//Define file appender with layout and output log file name
RollingFileAppender fileAppender = new RollingFileAppender(layout, "demoApplication.log");

//Add the appender to root logger
rootLogger.addAppender(fileAppender);
}
catch (IOException e)
{
System.out.println("Failed to add appender !!");
}
//Let verify the log messages
log.info("Welcome to www.how2codex.com");
log.debug("Welcome to www.how2codex.com");
log.error("Welcome to www.how2codex.com");
log.fatal("Welcome to www.how2codex.com");
}
}

步骤3)测试应用程序

从您的IDE作为Java应用程序运行以上程序,并观察输出。日志消息在控制台中被评估为:

2013-04-08 14:22:27,567 [main] INFO com.how2codex.ProgrammticallyConfigureAppenderExample-
欢迎来到www.how2codex.com
2013-04-08 14:22:27,567 [main]调试com.how2codex.ProgrammticallyConfigureAppenderExample-
欢迎来到www.how2codex.com
2013-04-08 14:22:27,567 [main]错误com.how2codex.ProgrammticallyConfigureAppenderExample-
欢迎来到www.how2codex.com
2013-04-08 14:22:27,567 [main]致命com.how2codex.ProgrammticallyConfigureAppenderExample-
欢迎来到www.how2codex.com

同样的日志消息将记录在项目根目录中创建的日志文件,即demoApplication.log文件。

让我知道是否不清楚或缺少任何内容。

saigon has written 1445 articles

Leave a Reply