您的位置:首页 > 其它

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等。

那么在代码中可以如下实现:
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

这样不管在哪儿启动,都可以保持日志文件和配置文件路径不随变化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: