http://blog.csdn.net/changong28/article/details/39717209

*******************************************

一般而言使用log4j时,只要把log4j.properties放置到类路劲下就可以了,这是log4j会自动从类路径下去寻找然后初始化,然手好多时候,我需要将log4j.properties的文件放置到自己需要的地方,一种是需要是log4j配置对象初始化,例如:

  1. import com.foo.Bar;
  2. import org.apache.log4j.Logger;
  3. import org.apache.log4j.PropertyConfigurator;
  4. public class MyApp {
  5. static Logger logger = Logger.getLogger(MyApp.class.getName());
  6. public static void main(String[] args) {
  7. // 配置文件初始化
  8. PropertyConfigurator.configure(args[0]);
  9. logger.info("Entering application.");
  10. Bar bar = new Bar();
  11. bar.doIt();
  12. logger.info("Exiting application.");
  13. }
  14. }

上述args[0]传入log4j配置文件路径。

但如上述这样初始化的话感觉有点繁琐,有没有其他更简洁的办法吗?答案是有,因为一般一个Java工程一个log4j 配置文件就够了,所以我们在运行java主程序的时候通过附加参数可以实现该功能,如下:

  1. -Dlog4j.configuration=file:{path to file}

eg:   -Dlog4j.configuration=file:./log4j.properties

上述中file:前缀是一定要的,千万别忘了加上,{path to file}当然是log4j配置文件了,完整例子如下:

  1. set APP_CLASSPATH=.;%APP_HOME%/lib/*
  2. set APP_PARAMS=-Dapp.path.home="%APP_HOME%" -Dlog4j.configuration="file:%APP_HOME%\config\log4j.properties"
  3. "%JAVA_HOME%\bin\java" %APP_PARAMS% -cp "%APP_CLASSPATH%" "com.changong28.maven.HelloWorld"

参考:http://logging.apache.org/log4j/1.2/manual.html

使用命令参数方式指定log4j配置文件的更多相关文章

  1. 在单元测试中指定log4j的配置文件

    在开发过程中,我们会使用到log4j来输出日志,我们希望在单元测试的时候,只看到部分日志信息,或者定义日志输出的级别.   这个时候手工指定log4j的配置文件:   具体做法如下: 定义类如下: i ...

  2. linux dd命令参数及用法详解---用指定大小的块拷贝一个文件(也可整盘备份)

    linux dd命令参数及用法详解---用指定大小的块拷贝一个文件 日期:2010-06-14 点击:3830 来源: 未知 分享至:            linux dd命令使用详解 dd 的主要 ...

  3. WordCount_命令行运行时指定参数

    WordCountApp命令行运行时指定参数 1.修改之前的WordCountApp.java的代码 package cmd; import java.net.URI; import org.apac ...

  4. log4j配置文件详解---转

    使用步骤注意: 1. 从http://logging.apache.org/log4j/1.2/ 下载文件 2. 在src目录下加入log4j.properties,将jar包放入build -pat ...

  5. 烂泥:【转】rsync命令参数详解

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. rsync安装完毕后,我们可以通过rsync –help查看rysnc命令的使用.如下: 有关rsync的命令格式,在此我们就不多介绍了.如果有想了解的 ...

  6. springmvc 项目完整示例06 日志–log4j 参数详细解析 log4j如何配置

    Log4j由三个重要的组件构成: 日志信息的优先级 日志信息的输出目的地 日志信息的输出格式 日志信息的优先级从高到低有ERROR.WARN. INFO.DEBUG,分别用来指定这条日志信息的重要程度 ...

  7. log4j - 配置文件

    Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息. 通过配置,可以创建出Log4J的运行环 ...

  8. Linux mail 命令参数

    linux mail 命令参数: 使用mail发邮件时,必须先将sendmail服务启动. mail –s “邮件主题” –c”抄送地址” –b “密送地址” -- -f 发送人邮件地址 –F 发件人 ...

  9. Log4J配置文件说明

    Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...

随机推荐

  1. ASP.NET生成缩略图的代码

    01.        // <summary> 02.        /// 生成缩略图 03.        /// </summary> 04.        /// &l ...

  2. js去除日期字符串时分秒

    var date = "2015-11-11 00:00:00"; var newDate=/\d{4}-\d{1,2}-\d{1,2}/g.exec(date) newDate= ...

  3. C# 单例模式Lazy<T>实现版本

    非Lazy版本的普通单例实现: public sealed class SingletonClass : ISingleton { private SingletonClass () { // the ...

  4. Mac OS下应用Python+Selenium实现web自动化测试

    在Mac环境下的自动化测试环境搭建这里有一篇亲测通过的文<mac下怎么搭建selenium python环境?>. 不过在这个过程中要注意两点: 1.在终端联网执行命令“sudo pip ...

  5. 是否用new来新建对象

    class A{ }: 1.不使用new来新建对象 A a: 使用完后什么也不用做,系统自动调用析构函数.使用空间是栈. 2.使用new来新建对象 A* a=new A();   delete a;/ ...

  6. Xcode插件管理以及Xcode7 升级

    一,Xcode插件管理工具 Alcatraz: mkdir -p ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins; cur ...

  7. SqlSever基础 两个条件 group by 分组显示

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  8. C#变量与数据类型

    数据类型: 整型:int short long byte 小数:double float decimal 布尔:bool 字符:char 定义变量: 数据类型 变量名 [= 值]; 变量名的命名规则: ...

  9. Create Custom Modal Dialog Windows For User Input In Oracle Forms

    An example is given below to how to create a modal dialog window in Oracle Forms for asking user inp ...

  10. STM32的I2C通信

    I2C总线是由NXP(原PHILIPS)公司设计,有十分简洁的物理层定义,其特性如下: 只要求两条总线线路:一条串行数据线SDA,一条串行时钟线SCL: 每个连接到总线的器件都可以通过唯一的地址和一直 ...