首先,需要去下载LOG4J这个软件并解压缩出其中的log4j.jar.在你的应用程序的classpath中包含该JAR文件,你也可以简单地将这个文件拷贝到JDK的%java_home%\lib\ext目录下。
第一步,
Properties文件(first_log4j.properties) 放在系统的src包中。(eclipse布置在\WEB-INF\classes)
log4j.rootLogger=INFO,stdout,logfile
log4j.category.com.sumit=DEBUG
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern= [%p][%c]- %m [%d] %n
# logfile set up.
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=set up in web.xml
log4j.appender.logfile.MaxFileSize=50MB
# Keep three backup files.
log4j.appender.logfile.MaxBackupIndex=10
# Pattern to output: date priority [category] - message
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
#log4j.appender.logfile.layout=org.apache.log4j.HTMLLayout
#log4j.appender.logfile.layout.ConversionPattern=时间:%d%n 优先级:%p%n 源文件:%F%n 类:%c%n 方法:%M%n 行数%L%n 最全:%l%n 信息:%m%n------------------------------------------------%n%n
log4j.appender.logfile.layout.ConversionPattern=%n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - %n时间:%d%n 优先级:%p%n 位置:%l%n 信息:%m%n%n
s
第二步,
Servlet的编写
package com.royal.listener;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class LogListener extends HttpServlet {
private static final long serialVersionUID = 1L;
static Logger log = Logger.getLogger(LogListener.class);
public LogListener() {
}
public void init(ServletConfig config) throws ServletException {
String prefix = config.getServletContext().getRealPath("/");
String properties = config.getInitParameter("log4j_properties");
String logger=config.getInitParameter("log4j_outPutFile");
String propertiesPath = prefix + properties;
Properties props = new Properties();
try {
FileInputStream istream = new FileInputStream(propertiesPath);
props.load(istream);
istream.close();
//toPrint(props.getProperty("log4j.appender.file.File"));
String logFile = prefix + logger;//设置路径
logFile=logFile.replace('\\', '/');
props.setProperty("log4j.appender.logfile.File",logFile);
PropertyConfigurator.configure(props);//装入log4j配置信息
log.info("LOG4J日志------");
log.info("LOG被加载 日志文件位置:"+props.getProperty("log4j.appender.logfile.File"));
} catch (IOException ioe) {
log.error(ioe);
ioe.printStackTrace();
return;
}
}
}
Web.xml: (load-on-srartup=1 项目启动时加载)参数中有一个是logs\log.log,自动生成日志文件,生成在项目下面的logs directory中,文件名为log.log
<servlet>
<servlet-name>LogListener</servlet-name>
<servlet-class>com.royal.listener.LogListener</servlet-class>
<init-param>
<param-name>log4j_properties</param-name>
<param-value>WEB-INF/classes/first_log4j.properties</param-value>
</init-param>
<init-param>
<param-name>log4j_outPutFile</param-name>
<param-value>logs\log.log</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
第三步
使用
如果是普通的JAVA类,
就得初始化log变量
static Logger log = Logger.getLogger(Mail.class);
在要记录日去的地方
log.error(ex+" 创建MIME邮件对象失败!"); //ex是Exception对象
或者 log.info/log.debug/log.warn等
如果是struts中的DispatchAction的子类,或其它有Log的类的子类。
就可以不用初始化log变量。
分享到:
相关推荐
### Log4j 使用实例详解 #### 一、Log4j简介 Log4j 是一个开源的日志记录框架,由 Apache 软件基金会提供。它允许开发者根据需求配置日志等级,并灵活选择日志信息的输出方式。Log4j 的核心组件包括 Logger、...
Log4j是Apache组织开发的一个强大的、灵活的日志记录框架,它允许我们控制日志信息的输出级别、格式以及输出位置。本篇文章将深入探讨Log4j的多个简单实例,帮助你理解和掌握其基本用法。 首先,Log4j由三个主要...
在Java开发中,日志记录是不可或缺的一部分,而Log4j作为一款广泛使用的开源日志框架,为开发者提供了强大的日志处理能力。本实例将深入探讨如何在实际项目中应用Log4j,帮助你理解和掌握其核心功能。 **1. Log4j...
本实例结合Spring和Log4j,将为你提供一个实用的日志解决方案。 首先,我们要理解Spring是如何集成Log4j的。Spring框架通过Apache Commons Logging接口来提供日志服务,而Log4j可以作为这个接口的实现。因此,我们...
Log4j是Java编程语言中的一个开源日志记录框架,由Apache软件基金会开发。它允许程序员以灵活的方式控制程序的日志输出,提供不同级别的日志记录,如DEBUG、INFO、WARN、ERROR和FATAL。通过实例代码和文档,学习者...
**Log4j配置实例** Log4j是一款广泛使用的Java日志框架,它为应用程序提供了灵活的日志记录功能。本文将深入探讨Log4j的配置及其实际应用,帮助开发者更好地理解和利用这一工具。 **1. Log4j概述** Log4j是由...
通过这个"log4j使用实例.zip"压缩包,你可以学习到如何配置和使用Log4j进行日志记录,从而更好地理解和掌握Java后端开发中的日志管理。实践操作并理解每个组件的作用,将有助于你解决实际项目中遇到的问题。
**Log4J配置实例(XML格式)** Log4J是一款广泛应用的日志记录框架,它为Java应用程序提供了灵活的日志记录功能。在Java开发中,日志记录是必不可少的一部分,可以帮助开发者跟踪程序运行状态,定位错误和调试代码...
**日志框架Log4j详解及测试代码实例** 在Java编程中,日志记录是必不可少的一个环节,它有助于我们跟踪程序运行状态、定位错误和...通过实践这个简单的log4j开发实例,你将更深入地理解如何在项目中集成和利用Log4j。
**日志框架Log4j详解及配置实例** Log4j是Apache组织开发的一款广泛应用的日志记录框架,尤其在Java应用程序中被广泛采用。它提供了一种灵活、强大的方式来记录程序运行过程中的各种信息,包括错误、警告、调试信息...
在标题“log4j实例,log4j-1.2.9.jar”中,我们看到的是Log4j的一个具体版本——1.2.9。这个版本虽然相对较旧,但它仍然是许多现有项目的基础,因为它稳定且功能齐全。 **1. Log4j的核心组件** Log4j由三个主要...
本文将详细探讨如何通过SLF4J接口来使用Log4j进行日志记录,并展示一个测试代码实例。 **SLF4J简介** SLF4J是一个抽象层,为各种日志框架提供了统一的API,如Logback、Log4j等。它的主要优点在于可以让你在不修改...
**日志框架Log4j详解** 在Java开发中,日志记录是一项不可或缺的功能,它能够帮助开发者追踪程序运行状态,定位错误,优化性能。...理解并熟练掌握Log4j的配置和使用,对于提高Java开发效率和维护性具有重要意义。
这些接口包括最基本的`org.apache.logging.log4j.Logger`,它是所有日志记录的起点,以及`org.apache.logging.log4j.LogManager`,它负责管理日志配置和日志器实例。API库的主要目标是与实现层解耦,允许开发者在不...
这个“log4j示例项目”旨在帮助开发者理解和使用Log4j,通过该项目,我们可以深入学习Log4j的配置、使用方法以及其在实际开发中的应用。 **1. Log4j的组成部分** Log4j主要包括三个核心组件:Logger(日志器)、...
Log4j是Apache组织开发的一款Java日志记录框架,它为Java应用程序提供了强大的日志处理能力。在软件开发中,日志记录对于调试、性能分析、问题排查等环节至关重要。Log4j通过灵活的配置,使得开发者能够控制日志信息...
在Java开发过程中,如果遇到"log4j:WARN Please initialize the log4j system properly"这样的错误提示,通常意味着Log4j没有正确配置或者找不到配置文件。 首先,错误信息"log4j:WARN No appenders could be found...
本文将深入探讨Log4j的帮助文档及实例,帮助你更好地理解和应用Log4j。** **一、Log4j简介** Log4j是一个开源的日志记录工具,最初由Ceki Gülcü设计。它的主要目标是为Java应用程序提供灵活、高效和可配置的日志...
Log4j是Apache组织开发的一个开源日志组件,广泛应用于Java编程语言中。本实例将深入探讨如何在Eclipse环境下使用Log4j进行日志记录。 1. **Log4j组件介绍** - **Logger**: 日志记录器,负责实际的日志输出。通过...
在本整合实例中,我们将探讨如何将Spring MVC 5、Hibernate 5、JUnit 4 和 Log4j2 集成在一起,以构建一个高效、可测试和日志记录完善的Java Web应用程序。以下是对这些技术及其整合过程的详细说明: **Spring MVC ...