用log4j解决java相对路径问题

Log4j相对路径问题 Log4j相对路径问题,遇到这个问题的朋友可以看看该文档 立即下载
       普通的j2se程序中定位当前程序运行目录很简单,System.getProperty("user.dir");即可,但在web应用中,这种方法则不行,定位当前程序的运行路径则比较麻烦。在网上搜索了N多资料,都没能有很方便的解决办法。
       忽然考虑到Log4j无论在j2se程序下还是在j2ee web程序下,都可以定位log4j.properties文件,甚是惊奇。经一番寻迹,发现是通过 URL org.apache.log4j.Loader.getResource(String s);方法可以定位log4j.properties的。
       后面就不需要多说了吧。有兴趣的话可以看log4j的源码。
       下面是一段简单的例子。把log4j.jar加入到lib里,一般的应用都会加这个包的。
//将 test.txt 放在web-inf/classes中
       URL url = org.apache.log4j.Loader.getResource("test.txt");
       BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
       System.out.prinln(reader.readLine());
//如果要访问WEB-INF下的文件,只需要在前面加上 "../"就可以了
       URL url = org.apache.log4j.Loader.getResource("../test.txt");
       BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
       System.out.prinln(reader.readLine());
Log4j 相对路径配置 关于log4j在ssh等框架中相对路径的配置 立即下载

相关推荐

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

log4j中配置日志文件相对路径方法分析 方法一、 解决的办法自然是用相对路径代替绝对路径,其实log4j的FileAppender本身就有这样的机制,如:log4j.appender.logfile.File=${WORKDIR}/logs/app.log 其中“${WORKDIR}/”是个变量,会被System Property中的“WORKDIR”的值代替。这样,我们就可以在log4j加载配置文件之前,先用System.setProperty ("WORKDIR", WORKDIR);设置好根路径,此操作可通过一初始的servlet进行。 方法二、 可以使用服务器环境变量 log4j配置文件支持服务器的vm的环境变量,格式类似${catalina.home} log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=${catalina.home}/logs/logs_tomcat.log log4j.appender.R.MaxFileSize=10KB 等等。

log4j2保存日志到文件(相对路径

问题描述 Springboot整合log4j2时,需要将日志按照相对路径保存到文件。为了解决这个问题,查了很多博客和log4j2官网,总结了下,找到两种比较可用的解决方案。 (本人使用jar打包发布,所以强烈推荐第二种,简单方便好用。) Lookups 使用log4j2官方提供的lookups,可以在xml配置文件中提供变量,从而动态配置保存目录。 <Appenders> <File name="ApplicationLog" fileName="${web:rootD

qq_31352839的博客 7200

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

本文档提供log4j配置相对路径三种方法:log4j.properties文件配置、xml文件配置和通过servlet初始化方式来配置,希望对大家有所帮助

Java - 配置log4j的日志文件路径 (附-获取当前类路径的多种方法)

目录 1 日志路径带来的痛点 2 log4j.properties文件的配置 3 彻底解决痛点 3.1 单独的Java程序包 (非Java Web项目) 3.2 Web项目 4 附录 - 获取当前项目、类路径的几种方式 ...

weixin_30684743的博客 1932

java log4j 路径配置_log4j配置文件中路径配置一般有三种方法:

log4j配置文件中路径配置一般有三种方法:(1)绝对路径法:直接配置为系统觉得路径;(2)相对路径法:log4j.appender.logfile.File=../logs/app.log,将日志记录到tomcat下的logs文件夹;log4j.appender.logfile.File=logs/app.log,将日志记录到tomcat的bin目录下的logs文件夹;(3)使用环境变量相对路径...

weixin_35740875的博客 4220

Log4j配置输出log文件的相对路径

动态配置log4j日志文件输出的相对路径

loongshawn的博客 3万+

NOTE:JAVA

 2007-6-15____________________________________________________________________________________ 1.spring容器  spring容器就是IoC容器,用来实现反转控制的spring组件.在spring中提供了两种IoC容器:BeanFactory和ApplicationContext

Laurence的技术博客 5235

出现Note: Test.java uses unchecked or unsafe operations.Note: Recompile

如果显示为中文就是:      注意: a.java 使用了未经检查或不安全的操作。      注意: 要了解详细信息,请使用 -Xlint:unchecked 重新编译。   其实是很简单,是因为用到了JAVA5.0的泛型,而5.0的泛型不做类型检查,例如ArrayList a =new ArrayList(); a.add("hello");这样会出现警告,解决方法有以下几种:

u012730840的专栏 8089

java】note:书写格式

3. public static void main(String[] args) 表示一个主方法,即我们程序的入口。1. public class Hello 表示 Hello 是一个类,是一个 public 公有的类。要求开发一个Hello.java程序,可以输出"hello java!比如:Dog 是一个类,编译后,每一个类,都对于一个.class。2. Hello{ } 表示一个类的开始和结束。

2301_76936713的博客 568

java note 1:基础

Java基础

qq_38971534的博客 276

Note:Java

HttpServletRequest类getAttribute()和getParameter()的区别: getParameter()用来接受从Web客户端传到Web服务器端的HTTP请求中get方法或post方法传递的数据,返回String类型的数据。HttpServletRequest类有setAttribute()方法,而没有setParameter()方法。 setAttri...

shine_wang的专栏 188

Introduce to Java Programming:NOTE

1. 计算机中字节(byte)是最小的存储单元,1byte=8bits。 2. 内存:随机访问存储器(RAM)。内存中每一个字节都有其唯一的地址。 3. 点距是指像素之间以毫米为单位的距离,点距越小,显示效果越好。 4. 计算机能够理解的语言是机器语言,为了使用方便创建了汇编语言(低级语言)。 5. 汇编语言–>汇编器–>机器代码文件 5. 高级语言源代码–>解释器–>机器代码/虚拟机器代

g110011010的博客 605

java note 9:reflex

1.Can u express in a word what reflex is? it’s a dynamic machanism which obtain field and method of class. It’s applied to set/get field or method when jvm run-time. 2.which classes are relative with Reflex ? Class Field Method Constructor Invoke 3.which c

qq_38971534的博客 131

java note 8:synchronization

/** * instruction of project * * @author Aruiea.com * @ClassName Day07 * @Version 1.0 * @Date 2020/7/6 16:49 * 线程同步:Callable(有返回值,run没有) timeerTask * provider-consumer */ public class Day07 { //线程同步:Callable(有返回值,run没有) timeerTask计时任务。

qq_38971534的博客 127
上一篇: JSP页面中如何使用相对路径访问文件
下一篇: 何谓作弊的SEO方法,何谓正规的SEO方法
guileen
博客等级 码龄21年 7粉丝 23原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值