`

LOG4J开发实例

阅读更多

首先,需要去下载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简介 Log4j 是一个开源的日志记录框架,由 Apache 软件基金会提供。它允许开发者根据需求配置日志等级,并灵活选择日志信息的输出方式。Log4j 的核心组件包括 Logger、...

    log4j多个简单实例

    Log4j是Apache组织开发的一个强大的、灵活的日志记录框架,它允许我们控制日志信息的输出级别、格式以及输出位置。本篇文章将深入探讨Log4j的多个简单实例,帮助你理解和掌握其基本用法。 首先,Log4j由三个主要...

    log4j 实例

    在Java开发中,日志记录是不可或缺的一部分,而Log4j作为一款广泛使用的开源日志框架,为开发者提供了强大的日志处理能力。本实例将深入探讨如何在实际项目中应用Log4j,帮助你理解和掌握其核心功能。 **1. Log4j...

    spring log4j 实例

    本实例结合Spring和Log4j,将为你提供一个实用的日志解决方案。 首先,我们要理解Spring是如何集成Log4j的。Spring框架通过Apache Commons Logging接口来提供日志服务,而Log4j可以作为这个接口的实现。因此,我们...

    log4j(实例代码+文档)

    Log4j是Java编程语言中的一个开源日志记录框架,由Apache软件基金会开发。它允许程序员以灵活的方式控制程序的日志输出,提供不同级别的日志记录,如DEBUG、INFO、WARN、ERROR和FATAL。通过实例代码和文档,学习者...

    Log4j配置实例

    **Log4j配置实例** Log4j是一款广泛使用的Java日志框架,它为应用程序提供了灵活的日志记录功能。本文将深入探讨Log4j的配置及其实际应用,帮助开发者更好地理解和利用这一工具。 **1. Log4j概述** Log4j是由...

    log4j使用实例.zip

    通过这个"log4j使用实例.zip"压缩包,你可以学习到如何配置和使用Log4j进行日志记录,从而更好地理解和掌握Java后端开发中的日志管理。实践操作并理解每个组件的作用,将有助于你解决实际项目中遇到的问题。

    Log4J配置实例(xml格式)

    **Log4J配置实例(XML格式)** Log4J是一款广泛应用的日志记录框架,它为Java应用程序提供了灵活的日志记录功能。在Java开发中,日志记录是必不可少的一部分,可以帮助开发者跟踪程序运行状态,定位错误和调试代码...

    log4j测试代码

    **日志框架Log4j详解及测试代码实例** 在Java编程中,日志记录是必不可少的一个环节,它有助于我们跟踪程序运行状态、定位错误和...通过实践这个简单的log4j开发实例,你将更深入地理解如何在项目中集成和利用Log4j。

    log4j配置实例

    **日志框架Log4j详解及配置实例** Log4j是Apache组织开发的一款广泛应用的日志记录框架,尤其在Java应用程序中被广泛采用。它提供了一种灵活、强大的方式来记录程序运行过程中的各种信息,包括错误、警告、调试信息...

    log4j实例,log4j-1.2.9.jar

    在标题“log4j实例,log4j-1.2.9.jar”中,我们看到的是Log4j的一个具体版本——1.2.9。这个版本虽然相对较旧,但它仍然是许多现有项目的基础,因为它稳定且功能齐全。 **1. Log4j的核心组件** Log4j由三个主要...

    log4j+slf4j实现 log4j测试代码,log4j+slf4j实现 log4j测试代码

    本文将详细探讨如何通过SLF4J接口来使用Log4j进行日志记录,并展示一个测试代码实例。 **SLF4J简介** SLF4J是一个抽象层,为各种日志框架提供了统一的API,如Logback、Log4j等。它的主要优点在于可以让你在不修改...

    log4j配置实例(含配log4j.properties及jar包)

    **日志框架Log4j详解** 在Java开发中,日志记录是一项不可或缺的功能,它能够帮助开发者追踪程序运行状态,定位错误,优化性能。...理解并熟练掌握Log4j的配置和使用,对于提高Java开发效率和维护性具有重要意义。

    log4j-api-2.17.1.jar和log4j-core-2.17.1.jar

    这些接口包括最基本的`org.apache.logging.log4j.Logger`,它是所有日志记录的起点,以及`org.apache.logging.log4j.LogManager`,它负责管理日志配置和日志器实例。API库的主要目标是与实现层解耦,允许开发者在不...

    log4j示例项目

    这个“log4j示例项目”旨在帮助开发者理解和使用Log4j,通过该项目,我们可以深入学习Log4j的配置、使用方法以及其在实际开发中的应用。 **1. Log4j的组成部分** Log4j主要包括三个核心组件:Logger(日志器)、...

    log4j实例,配置

    Log4j是Apache组织开发的一款Java日志记录框架,它为Java应用程序提供了强大的日志处理能力。在软件开发中,日志记录对于调试、性能分析、问题排查等环节至关重要。Log4j通过灵活的配置,使得开发者能够控制日志信息...

    log4j日志报错解决办法

    在Java开发过程中,如果遇到"log4j:WARN Please initialize the log4j system properly"这样的错误提示,通常意味着Log4j没有正确配置或者找不到配置文件。 首先,错误信息"log4j:WARN No appenders could be found...

    log4j帮助文档及实例

    本文将深入探讨Log4j的帮助文档及实例,帮助你更好地理解和应用Log4j。** **一、Log4j简介** Log4j是一个开源的日志记录工具,最初由Ceki Gülcü设计。它的主要目标是为Java应用程序提供灵活、高效和可配置的日志...

    log4j的实例

    Log4j是Apache组织开发的一个开源日志组件,广泛应用于Java编程语言中。本实例将深入探讨如何在Eclipse环境下使用Log4j进行日志记录。 1. **Log4j组件介绍** - **Logger**: 日志记录器,负责实际的日志输出。通过...

    springmvc5+hibernate5+junit4+log4j2整合实例

    在本整合实例中,我们将探讨如何将Spring MVC 5、Hibernate 5、JUnit 4 和 Log4j2 集成在一起,以构建一个高效、可测试和日志记录完善的Java Web应用程序。以下是对这些技术及其整合过程的详细说明: **Spring MVC ...

Global site tag (gtag.js) - Google Analytics