手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>Java技术>列表

log4j的辅助代码,支持合并多个log4j配置文件。

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
1。当多人合作开发程序时,都使用了log4j,而且各自写了各自的log4j,properties配置文件 ,
在程序合并的时候,如果要合并配置文件的话,在后期开发维护又会产生一些不便。
//copyright © li zong bo
而log4j自身的配置信息,在读取新配置文件的时候,老配置文件的信息不会叠加。
因此自己写了个下面的方法。用来兼容老的配置信息的读取,也增强了配置文件的灵活性。
使用方法,只要配置文件名字满足log4j*.properties,再指定配置文件存放的文件夹就可以了。
/*
import org.apache.log4j.PropertyConfigurator;
PropertyConfigurator.configure(Properties properties);
使用这个方法来调用即可。
//copyright © li zongbo
*/
public static Properties loadproperties(String dir)
throws FileNotFoundException, IOException {
return loadproperties(dir, null);
}
//copyright © lizongbo
public static Properties loadproperties(String dir, String fileNamestartWith)
throws FileNotFoundException, IOException {
if (fileNamestartWith == null) {
fileNamestartWith = "log4j";
}
//copyright © li zongbo
Properties pro = new Properties();
File fdir = new File(dir);
//copyright © lizong bo
if (fdir.isFile()) {
if (fdir.getName().toLowerCase().endsWith(".properties")) {
pro.load(new FileInputStream(fdir));
}
} else {
File[] fspro = fdir.listFiles();
//copyright © lizongbo
for (int i = 0; i < fspro.length; i ) {
if (fspro[i].getName().startsWith(fileNamestartWith) &&
fspro[i].getName().toLowerCase().endsWith(".properties")) {
Properties temppro = new Properties();
temppro.load(new FileInputStream(fspro[i]));
//copyright © lizongbo
//copyright © lizongbo
for (Enumeration e = temppro.keys(); e.hasMoreElements();) {
String key = (String) e.nextElement();
pro.setProperty(key, temppro.getProperty(key));
}
}
}
}
//copyright © lizongbo
//copyright © lizongbo
return pro;
}

上一篇: <<Eclipse开发指南>>的最终目录
下一篇: Java中的异步网络编程

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!