`
han2000lei
  • 浏览: 276734 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

log4j中使用相对路径

    博客分类:
  • java
阅读更多
很多朋友想把日志写在web应用当中,下面来介绍一下:
log4j.properties文件配置如下:
log4j.rootLogger=ERROR,CONSOLE,A1
log4j.addivity.org.apache=true

log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=${webappHome}/WEB-INF/logs/website.log
log4j.appender.A1.Encoding=GBK
log4j.appender.A1.Threshold=DEBUG
log4j.appender.A1.DatePattern='.'yyyy-MM-dd
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L : %m%n

这里,我们使用${webappHome}来取得应用路径,webappHome是个变量。我们是从哪里取得的值呢?是从我们自己的类中,因此必须写这个类。很简单:
package com.clientmanager.util;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

import org.apache.log4j.PropertyConfigurator;


public class Log4jInit extends HttpServlet {   
	
	
	public void init(ServletConfig config) throws ServletException {
		String prefix = config.getServletContext().getRealPath("/"); //获取当前路径
		String file = config.getInitParameter("log4j");//从web.xml中获取参数值,找到log4j这个文件
		System.setProperty("webappHome", prefix); //log4j.properties文件中的变量是在这里设置的
		if (file != null) { 
			PropertyConfigurator.configure(prefix + file); 
		}
	}
}

好了,有了这个类,下一步是要在服务器启动时来初始化这个类。所以要在web.xml中进行配置
web.xml
  <servlet>   
   <servlet-name>log4j-init</servlet-name> 
     <servlet-class>com.clientmanager.util.Log4jInit</servlet-class>  
       <init-param>    
         <param-name>log4j</param-name>  
     	 <param-value>WEB-INF/classes/log4j.properties</param-value>    
      </init-param>   
      <load-on-startup>0</load-on-startup> 
  </servlet>

最后说一点,如果你用struts而在web.xml中配置了ServletAction,它的启动级别为<load-onstartup>0</load-on-startup>,那么我们的这个类的的启动级别不能低于它,否则可能会出现找不到路径的问题
1
0
分享到:
评论

相关推荐

    log4j中配置日志文件相对路径方法(PDF)

    ### Log4j中配置日志文件相对路径方法详解 #### 概述 在软件开发过程中,日志记录是一项重要的功能,它有助于开发者调试程序、监控应用程序的运行状态以及追踪问题。`Log4j`作为一款优秀的日志管理工具,被广泛应用...

    Log4j中相对路径的问题

    本文主要讨论了在Log4j配置中如何处理相对路径的问题,以适应不同环境下的日志文件存储需求。 一、使用系统属性设置路径 在Log4j的配置文件(通常是`log4j.properties`)中,可以使用`${}`语法引用系统属性。例如...

    Log4j 相对路径配置

    以下是关于Log4j相对路径配置的详细说明: 首先,在`Web.xml`文件中,我们需要进行一些配置来使Log4j在Web应用启动时初始化。`&lt;context-param&gt;`标签用于设置Log4j的相关参数: 1. `&lt;param-name&gt;webAppRootKey...

    0积分:完全相对路径的log4j配置

    本文通过一个具体的例子展示了如何在Java项目中使用Properties文件来配置Log4j,特别强调了完全相对路径的使用方法。这种配置方式简洁明了,适用于各种规模的应用程序。此外,文章还涉及了如何在Servlet环境中加载...

    log4j中配置日志文件相对路径方法分析

    log4j中配置日志文件相对路径方法分析 方法一、 解决的办法自然是用相对路径代替绝对路径,其实log4j的FileAppender本身就有这样的机制,如:log4j.appender.logfile.File=${WORKDIR}/logs/app.log 其中“${...

    log4j简单范例 日志文件是相对路径的

    Log4j是一款广泛使用的日志...通过这个简单的Log4j范例,我们可以理解如何配置和使用Log4j进行日志记录,并了解相对路径在设置日志文件时的应用。这有助于我们在开发和维护Java应用程序时更好地管理和分析日志信息。

    log4j配置与使用方法

    - 将log4j.properties文件放置在项目的`bin/`目录下,并通过相对路径或者系统资源的方式加载配置文件。 - 如果文件放置在`bin/`目录下的更深层次子目录中,则需要确保路径正确无误。 #### 三、log4j格式详解 - *...

    使用log4j写日志文件

    在Java应用中使用Log4j进行日志记录的第一步,是创建并配置log4j的属性文件(log4j.properties)。这个文件定义了日志的级别、输出目的地以及日志的格式。以下是一个典型的log4j配置示例: ```properties # 设置根...

    log4j绝对路path

    在Java开发中,日志系统是不可或缺的一部分,Log4j作为一款广泛使用的日志记录框架,为开发者提供了强大的日志处理能力。本文将详细探讨Log4j中涉及的“绝对路径”概念及其在实际应用中的重要性。 一、Log4j简介 ...

    这个是开源的log4j支持包

    用户需要将此jar包加入到项目的类路径中,才能使用Log4j的功能。1.2.8是一个较早的版本,虽然可能不包含最新的特性和优化,但因其稳定性和兼容性,依然在许多项目中被使用。 3. **log4j.properties** 这是一个默认...

    Android log4j使用Demo

    Log4j是一个广泛使用的Java日志框架,最初为Java平台设计,但通过一些方式,我们也可以在Android环境中利用它来增强日志记录的能力。本示例将探讨如何在Android项目中集成和使用log4j。 1. **引入log4j** 虽然...

    log4j 配置日志文件,把日志信息输出到项目的某个文件夹下

    log4j.appender.FILE.File=${catalina.home}/logs/myApp.log # 这里使用相对路径 log4j.appender.FILE.ImmediateFlush=true log4j.appender.FILE.Threshold=DEBUG log4j.appender.FILE.Append=true log4j.appender....

    log4j之基本配置

    Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件还是其他地方,还可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。...

    log4j 动态配置

    示例代码中使用的路径为`System.getProperty("user.dir") + "/webconfig/log4j.properties"`,这表示从当前工作目录下的`webconfig`文件夹中读取`log4j.properties`文件。 3. **日志输出路径** `log4j.properties...

    log4j 在web中的应用

    - Tomcat本身不包含默认的log4j配置,因此在Tomcat上使用log4j相对简单直接。 - 开发者需要自行创建log4j配置文件(log4j.properties或log4j.xml),并根据项目的需要进行配置。 - **JBoss环境下log4j配置**: - ...

    log4j必须的jar包

    通过commons-logging的接口,开发者可以在代码中使用一致的日志API,而具体的日志输出则由log4j控制,同时commons-discovery可以辅助进行更高级的管理和监控。为了确保项目正常运行,这三个jar包需要添加到项目的类...

    LOG4J 配置 详细 大全

    `log4j.appender.FILE`配置文件appender,如`log4j.appender.FILE.File=file.log`指定日志文件路径。`log4j.appender.FILE.Append=false`决定是否追加模式,如果为`true`,则日志将被添加到现有文件,如果为`false`...

    log4j1.2.9jar和详解

    开发者只需将这个JAR文件添加到项目的类路径中,就可以开始使用log4j进行日志记录。 **详解内容** "详解"部分可能包括以下内容: 1. **配置文件**:log4j的配置通常通过一个XML或.properties文件完成,例如`log4j...

    log4j的使用log4j的使用

    ### Log4j的使用详解 #### 一、Log4j简介及使用场合 Log4j是Apache的一个开源项目,用于为Java应用程序提供日志记录功能。它的设计目标是为了简化日志记录过程,使得开发者能够更加方便地在应用程序中集成日志功能...

    spring jar 包 _ log4j-1.2.17.jar_commons-logging.jar

    在这种情况下,如果系统中同时存在log4j和Commons-Logging,Spring会优先使用log4j。 3. **Spring框架**:Spring是一个开源的Java企业级应用框架,它提供了一系列的模块,包括依赖注入(DI)、面向切面编程(AOP)...

Global site tag (gtag.js) - Google Analytics