如何自定义获取log4j的配置文件

原创 2013年12月04日 10:01:08

默认情况下我们会使用log4j.properties这个作为配置文件,放在bin目录下面,但是如果我们把工程打包成一个jar包(或者是服务),则代码从哪里获取配置配置文件呢?我在网上查询了相关资料,觉得有点意思,加上自己的总结,简单描述一下。

 

1.         配置文件的加载是在第一次使用,因此在系统工程第一次使用log4j的时候就要指明加载的配置文件的路径

 

2.         linux服务器上使用的是相对路径,可以指明配置文件的方法

 

第一种方式:

//指明配置文件的加载目录加载.properties文件

PropertyConfigurator.configure("E://log4j.properties");

 

第二种方式:

/**

     * 初始化log4j配置信息

     * @throws Exception

     */

    public static void initLog4j() throws Exception

    {

       FileInputStream istream = null;

       try

       {

           Properties props = new Properties();

//指明了获取配置文件的路径

           istream = new FileInputStream("conf/log4j.properties");

           props.load(istream);//从输入流中读取属性列表

           PropertyConfigurator.configure(props);

       } catch (Exception ex)

       {

           log.error("initLog4j.error:", ex);

           throw new Exception(ex);

       } finally

       {

           istream.close();

       }

    }

 

使用上面的方法可以实现动态的添加配置信息

如何实现动态的指定Log存放的路径,即不用写死?

1、  将配置文件中的指定路径删除掉

2、  指明参数的配置路径

props.put("log4j.appender.file.File", sc.getRealPath("/log/hb.log")); 

 

log4j.appender.file.File=dd/test.log

表示在当前工程下面建立一个dd文件夹,里面有test.log文件,即dd目录与Bin目录同等级

 

log4j加载自定义的日志的配置文件

log4j加载自定义的日志的配置文件 加载自定义的mylog4j.properties文件 方法一(相对路径):public static void configure() { ...
  • u010031939
  • u010031939
  • 2016年11月28日 16:06
  • 291

自定义Log4j配置文件位置

默认设置:Log4j配置文件放在src下则可以被log4j.jar读取到。 如果想要把log4j.properties文件迁移到项目的其他位置,则可以做如下配置: log4jCon...
  • heweimingming
  • heweimingming
  • 2016年04月11日 10:01
  • 699

log4j(一) 自定义属性

log4j之自定义属性     通过 http://blog.chinaunix.net/uid-28953367-id-4098272.html 这篇文章可以了解到,log4j配置文件中...
  • u010640524
  • u010640524
  • 2014年03月24日 11:48
  • 1049

log4j自定义配置文件路径

本文说明如何自定义log4j的配置文件路径,并讲解log4j是如何加载配置文件的
  • SakuraInLuoJia
  • SakuraInLuoJia
  • 2016年12月09日 11:12
  • 5926

log4j源码简要分析 | 读取配置文件

LogManager在初始化的过程中,读取log4j.configuration系统变量的值,生成配置文件的url,默认为log4j.properties或log4j.xml.然后用PropertyC...
  • zhanghandong
  • zhanghandong
  • 2006年09月05日 00:17
  • 4943

log4j 配置数据库连接池添加自定义信息

log4j写数据库,通常只能写入log4j提供的信息,如果用来记录用户ID号,操作等的记录,则无法实现.    这里,我在log4j里加了一个字段userID (当然你可以再加几个)用来记录用户ID...
  • LANGZI7758521
  • LANGZI7758521
  • 2016年11月02日 15:48
  • 878

java应用程序自定义log4j配置文件位置

使用log4j很方便:1、添加依赖的log4j-1.2.8.jar包;2、增加log4j.properties配置文件,但这个配置文件应该放在哪个目录下比较合适,今天来讨论下:如何自定义配置文件的存放...
  • softmaker_tao
  • softmaker_tao
  • 2017年06月02日 17:02
  • 899

使用命令参数方式指定log4j配置文件

一般而言使用log4j时,只要把log4j.properties放置到类路劲下就可以了,
  • changong28
  • changong28
  • 2014年10月01日 10:59
  • 3187

Log4J学习【十三】Properties文件中能够定义的配置项的格式和示例二

3,配置Logger:     当配置完成Appender和其对应的Layout之后,就需要把Appender绑定在Logger之上了。Logger的配置主要分两类,一类是对RootLogger的配置...
  • LOVE____JAVA
  • LOVE____JAVA
  • 2013年12月27日 16:30
  • 1818

最简单的log4j配置文件

log4j.rootLogger=DEBUG, CONSOLE, FILE ## for console log4j.appender.CONSOLE=org.apache.log4j.Console...
  • liuhenghui5201
  • liuhenghui5201
  • 2015年12月25日 17:08
  • 2346
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何自定义获取log4j的配置文件
举报原因:
原因补充:

(最多只允许输入30个字)