`
han2000lei
  • 浏览: 273230 次
  • 性别: 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.properties文件配置、xml文件配置和通过servlet初始化方式来配置,希望对大家有所帮助

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

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

    Log4j中相对路径的问题

    Log4j中相对路径的问题,遇到这个问题的朋友可以看看该文档

    Log4j 相对路径配置

    关于log4j在ssh等框架中相对路径的配置

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

    完全相对路径的log4j配置: 配置文件相对,及日志文件相对. 不过使用的是properties,总觉得用XML配置是好点的做法

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

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

    Log4j 日志文件Linux/Mac/Windows通用存放位置设置方法

    log4j1/log4j2中category的配置以及log的输出位置(windows和linux通用的log输出位置) 一、场景和需求 假设我现在有3个独立的用project(暂时用maven关联起来,当然也可以不用maven),一个是提供公共服务的...

    Log4j定时打印日志及添加模块名配置的Java代码实例

    主要介绍了Log4j定时打印日志及添加模块名配置的Java代码实例,Log4j是Apache的一个开源Java日志项目,需要的朋友可以参考下

    log4j日志文件配置

    通过初始化servlet,在文件里输出你想要的自定义信息,方便的调试功能,输出任意级别的错误.这是个jsp的日志文件配置

    p6spy.jar+配置文件

    2、针对日志文件,由于此文件记录量,增加一个log4j中的DailyRollingFileLogger,每天做日志,并且增加一个属性在配置文件中maxfilesize=500(kb),超过此文件的最大值,系统重新生成一个文件。输入的日志格式采用...

    excel转csv或者txt(以制表符分隔)

    3、安装成功后首次打开程序将生成mylogs/log.log文件,在其中找到 preference.properties 文件路径,修改它可做一些基本的偏好设置,下次重新打开程序生效。比如修改readExcelStartLine此值表示从excel中的第几行...

    如何编写批处理文件批处理文件批处理文件

    在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable for {%variable|%%variable} in (set) do command [ CommandLineOptions] %variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以...

    微软活动目录管理管理简明手册

    使用组织单元,用户可在组织单元中代表逻辑层次结构的域中创建容器。这样用户就可以根据用户的组织模型管理账户和资源的配置和使用。 1 e+ }# `! n6 {& h9 ~6 T) \* O0 q 8 V0 D0 S) [( v5 \$ [% R(3)目录树和目录林...

    互联网创意产品众筹平台

    问题一箩筐-相对路径和绝对路径 │ 9.问题一箩筐-自定义监听器,解决上下文路径使用问题 │ 10.问题一箩筐-重载-笔试题+ i4 I$ j6 d/ [- j: d │ 11.问题一箩筐-悲观锁和乐观锁7 L; ^; s& i# h/ l8 O$ m/ \' F │ 12....

    HGE_系列教材(1-9)

    3. 在游戏开发中使用HGE 首先建立一个空的Win32 工程,然后选择Project-&gt;Settings...-&gt;Link 按图所示,输入hge.lib 和hgehelp.lib 当然,也可以使用预编译器指令pragram 来打到同样的目的。 HGE 系列教材(3) --- ...

    LINGO软件的学习

    在LINGO模型中使用集之前,必须在集部分事先定义。集部分以关键字“sets:”开始,以“endsets”结束。一个模型可以没有集部分,或有一个简单的集部分,或有多个集部分。一个集部分可以放置于模型的任何地方,但是一...

    网上商城需求报告

    通用电子商务购物平台 --------目的----------- 1.将前期学习技术熟练应用 2.了解项目开发流程,培养开发能力... 相对路径的写法 换一张试试看 type="submit" value="注 册" onclick="return validate();" /&gt;

    数据结构(C++)有关练习题

    4、用邻接矩阵或邻接图实现一个有向图的存储,并实现单源最短路径算法的实现(这个类的一个成员函数),并能输出该图的关键路径。 注:1、要用面向对象的方法设计代码; 2、一个图是一个类的实例; 3、类...

    软件病毒特征码定位软件multiCCL

     使用中可能造成的一切后果,均由使用者自行负责。 如果您对此很在意则请勿使用。 ;感谢您的测试,使用中请保留软件文档的完整,发现任何问题请到NE365的BBS上反馈。 ;(借用一下NE365的空间 ...

    multiCCL_f

     使用中可能造成的一切后果,均由使用者自行负责。 如果您对此很在意则请勿使用。 ;感谢您的测试,使用中请保留软件文档的完整,发现任何问题请到NE365的BBS上反馈。 ;(借用一下NE365的空间 ...

Global site tag (gtag.js) - Google Analytics