log4j设置配置文件目录

1,默认的文件路径及文件名:src下,log4j.xml或者log4j.property

2,自定义路径方式

     1)

Java代码
  1. System.setProperty( "log4j .configuration" , "com/logger/log4j .properties" );  

这个时候能够加载到。第二次使用该文件的绝对路径加载:

Java代码
  1. System.setProperty( "log4j .configuration" , "E:/project/j2se/src/com/logger/log4j .properties" );  

但是这样LogManager并没有加载到该配置文件,查看LogManager源码,发现LogManager是通过构造java.net.URL去加载的,由于URL没有识别出该协议。在前面加上file:后,LogManager加载到了配置文件:

Java代码
  1. System.setProperty( "log4j .configuration" , "file:E:/project/j2se/src/com/logger/log4j .properties" );  

由于配置的是绝对路径,所以不通用。当时在网上查到两种方法取得该类所在目录:

Java代码
  1. this .getClass().getResource( "/" ) //第一种   
  2. File file = new File( "." );  
  3. file.getAbsolutePath();//第二种   

但通过打印发现第一种方法返回的是我的bin文件夹所在的url(带有file:),而第二种方法返回的是user.dir/.于是使用第一种方法能够满足我的需求:

Java代码
  1. System.setProperty( "log4j .configuration" , SimppleLogging. class .getResource( "/com/logger" ).toString() + "/log4j .properties" );  

SimppleLogging.class.getResource("/")返回的是bin文件夹,加上/com/logger就为SimppleLogging.class所在的目录,而log4j .properties也位于SimppleLogging.class同一文件夹下。

 

2)xml文件的DOMConfigurator.configure("c://log4j.xml");

       prorertyies的pro.....configure("c://log4j.xml");

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值