log4j日志文件路径设置
2016-04-14 10:07
274 查看
假设有如下标准化的目录结构:
$HOME
|-- log
|-- conf
|-- bin
|-- lib
|-- data
jar包放在lib目录,启动脚本放在bin目录,日志文件放在log目录,配置文件放在conf目录(包括log4j的配置文件log4j.properties)。
在程序代码和配置文件中均不定义绝对目录如:/usr/local/myapp/log/myapp.log和/usr/local/myapp/conf/log4j.properties等。
那么在代码中可以如下实现:
log4j.properties中的日志文件路径配置为:
log4j.appender.stdout.File=${myhome}/log/myapp.log
这样不管在哪儿启动,都可以保持日志文件和配置文件路径不随变化。
$HOME
|-- log
|-- conf
|-- bin
|-- lib
|-- data
jar包放在lib目录,启动脚本放在bin目录,日志文件放在log目录,配置文件放在conf目录(包括log4j的配置文件log4j.properties)。
在程序代码和配置文件中均不定义绝对目录如:/usr/local/myapp/log/myapp.log和/usr/local/myapp/conf/log4j.properties等。
那么在代码中可以如下实现:
String path = System.getProperty("java.class.path"); int first_index = path.lastIndexOf(System.getProperty("path.separator")) + 1; int last_index = path.lastIndexOf(File.separator) + 1; path = path.substring(first_index, last_index); System.setProperty("myhome", path); // "myhome"供log4j.properties使用 PropertyConfigurator.configure(path + "/conf/log4j.properties");
log4j.properties中的日志文件路径配置为:
log4j.appender.stdout.File=${myhome}/log/myapp.log
这样不管在哪儿启动,都可以保持日志文件和配置文件路径不随变化。
相关文章推荐
- scala笔记
- 初学python(对比java语言不同) 第十篇
- JUnit中使用Hamcrest测试框架的assertThat断言【4.4新特性】
- 位字段
- [从头学数学] 第176节 概率
- Android中的线程池
- 使用SoundWire听电脑的声音
- 翻译mos(文档 ID 273121.1) 不使用trace 找到绑定变量的值
- VR之开发入门资源篇
- Activity的透明、半透明效果
- MANIFEST.MF的用途(转载)
- 快速排序
- 第八周--Linux中进程调度与进程切换的过程
- SSH出现Host key verification failed
- 基础总结篇之一:Activity生命周期
- 游戏准备上线运营几个注意点
- java集合框架06——fail-fast机制
- require.js基本认识
- 単語
- android动画详解之一