`

Log4j配置及应用实例

阅读更多

1、编写log4j配置文件(如log.config):
# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, FILE
log4j.rootCategory=INFO, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n

# LOGFILE is set to be a File appender using a PatternLayout.
#WORKDIR setted by system.setProperty!
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=${WORKDIR}/log/adapter.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.Threshold=INFO
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

2、使用LogServlet初始化log4j的配置参数:
package com.cait.adapter.servlet;

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 LogServlet extends HttpServlet {

 /**
  *
  */
 private static final long serialVersionUID = -1837292475877367091L;

 static Logger logger = Logger.getLogger(LogServlet.class);

 public LogServlet() {
 }

 public void init(ServletConfig sc) throws ServletException {

  String prefix = "";
  if (sc != null) {
   prefix = sc.getServletContext().getRealPath("/");
  } else {
   prefix = "D:/Project_java/Any3Adapter/web";
  }
  String file = sc.getInitParameter("logConfigFile");
  
  if (System.getProperty("WORKDIR") == null) {
   System.setProperty("WORKDIR", prefix);
  }
  
  Properties props = new Properties();
  try {
   FileInputStream istream = new FileInputStream(prefix + file);
   props.load(istream);
   istream.close();
   String logFile = prefix + props.getProperty("log4j.appender.file.File");// 设置路径
   props.setProperty("log4j.appender.file.File", logFile);
   PropertyConfigurator.configure(props);
  }
  catch (IOException e) {
   System.out.println("Could not read configuration file [" + file + "].");
   System.out.println("Ignoring configuration file [" + file + "].");
   return;
  }
 }

}

3、设置web.xml的servlet选项,保证配置被加载
 <servlet>
  <servlet-name>LogServlet</servlet-name>
  <servlet-class>com.cait.adapter.servlet.LogServlet</servlet-class>
  <init-param>
   <param-name>logConfigFile</param-name>
   <param-value>WEB-INF/config/log.config</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
 </servlet>

4、测试用例:
....
   Logger log=Logger.getLogger(this.getClass());
   log.info("LogServlet Test:    testOK");

分享到:
评论

相关推荐

    log4j配置 输出日志 案例

    `log4j配置输出日志案例.doc`文档中应该包含了更详细的配置和实际运行案例,包括如何调整日志级别、设置过滤器、自定义日志格式等。这些案例可以帮助读者更好地理解和应用log4j,解决实际开发中的日志管理问题。 ##...

    Log4j配置实例

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

    Log4J配置实例(xml格式)

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

    log4j.properties配置实例

    Log4j.properties 配置实例详解 在 Java 应用程序中, Log4j 是一个非常流行的日志记录工具,它能够帮助开发者快速地记录和跟踪应用程序中的日志信息。log4j.properties 文件是 Log4j 的核心配置文件,它控制着 Log...

    log4j配置方法和实例

    **日志框架Log4j详解及配置实例** Log4j是Apache组织开发的一款强大的日志处理框架,广泛应用于Java应用程序中,提供灵活的日志记录功能。本文将详细介绍Log4j的配置方法,并通过实例帮助初学者理解其工作原理。 #...

    log4j配置实例

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

    log4j与web.xml的配置

    - 将log4j配置文件放入WEB-INF/classes目录下,确保在Web应用启动时能被加载。 4. **通过web.xml配置Log4j** - 在web.xml中,我们可以使用`&lt;context-param&gt;`标签来指定Log4j配置文件的位置,例如: ```xml ...

    log4j配置使用说明及JAR包

    压缩包中的"**log4j配置说明及所需jar包**"包含了Log4j的库文件,包括`log4j.jar`和其他可能的依赖。确保将这些JAR包添加到项目的类路径(Classpath)中,这样你的程序才能正确识别并使用Log4j。 **四、代码示例** ...

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

    总之,Log4j是一个强大且灵活的日志工具,通过合理的配置和使用,可以帮助我们更好地管理和分析应用程序的运行状况。理解并熟练掌握Log4j的配置和使用,对于提高Java开发效率和维护性具有重要意义。

    Log4j配置文件详细说明

    在`Log4j配置文件详细说明[转].htm`和`Log4j配置文件详细说明[转]_files`这两个文件中,应包含了更详细的实例和说明,可以帮助深入理解每个属性的实际作用和配置方法。在实践中,不断试验和调整,你会发现Log4j是一...

    log4j.properties配置文件

    正确配置`log4j.properties`对于应用程序的日志管理和调试至关重要。 #### 二、日志级别 Log4j支持以下几种级别的日志输出:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL。这些级别按照从高到低的顺序排列,其中OFF...

    log4j使用配置方法及项目中的应用

    ### log4j使用配置方法及项目中的应用 #### 概述与背景 在软件开发过程中,日志记录是一项至关重要的任务,它不仅帮助开发者监控代码执行状态,还为后续的故障排查、性能优化和安全审计提供了关键信息。传统的做法...

    log4j使用手册和配置文件实例

    本手册将深入探讨Log4j的核心概念、配置方式以及实际应用。 **1. Log4j的核心组件** - **Logger(日志器)**: 是日志信息的来源,通过Logger类创建实例,向指定级别输出日志信息。 - **Appender(输出器)**: 负责...

    log4j及配置文件

    总结来说,Log4j是Java应用中不可或缺的工具,它通过`log4j.properties`配置文件实现了强大的日志管理,使得开发者能够轻松控制日志输出,提升开发效率,同时对系统运行状态进行有效监控。理解并熟练掌握Log4j的配置...

    JBOSS log4j 配置

    本文将详细介绍如何解决 JBOSS 和 Log4j 的冲突,配置 Log4j,及 Log4j 的基本使用方法。 解决 JBOSS 和 Log4j 冲突的配置 为了解决 JBOSS 和 Log4j 的冲突,需要在 JBOSS 服务器中进行以下配置: 1. 配置 $JBOSS...

    log4j多个简单实例

    实际应用中,你可能需要结合项目需求进一步配置和扩展Log4j。例如,使用`log4jDemo.rar`中的示例代码,你可以实践Log4j的配置和日志记录。同时,`log4j.xml`文件可以提供更高级的配置示例,如自定义Appender和过滤器...

    log4j配置文件及jar包

    **日志框架Log4j** Log4j是Java平台上的一个开源日志记录框架,它在软件...总之,Log4j是一个强大的日志工具,通过灵活的配置和丰富的API,能够帮助开发者实现高效、可控的日志记录,从而更好地监控和调试应用程序。

    log4j常用配置和Demo

    Log4j配置文件(log4j.properties) Log4j的配置通常在`log4j.properties`文件中进行,以下是一些常见的配置选项: - **rootLogger**:定义日志器的默认行为,包括级别和appender。 ```properties log4j.root...

    log4j的配置示例

    **标题:“log4j的配置示例”** **描述:“简单的log4j测试工程”** 在Java开发中,日志管理是一项重要的任务,它有助于跟踪应用程序的运行状态、错误和调试信息。Log4j是Apache提供的一款开源日志组件,广泛应用...

    log4j使用jar包和log4j.properties配置文件

    Log4j作为Java日志处理的重要工具,通过其灵活的配置和强大的功能,可以帮助开发者更好地理解和管理应用的运行状态。1.2.17版本的Log4j jar包和`log4j.properties`配置文件是实现这一目标的基础。正确地引入和配置这...

Global site tag (gtag.js) - Google Analytics