`

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

阅读更多
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;
}
分享到:
评论

相关推荐

    Git权威指南PDF完整版

    30.5.1 在配置文件中出现的版本库,即时生成/ 433 30.5.2 通配符版本库,管理员通过推送创建/ 434 30.5.3 直接在服务器端创建/ 435 30.6 对 Gitolite 的改进/ 435 30.7 Gitolite 功能拓展/ 436 30.7.1 版本库镜像/ ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...

    vc++ 应用源码包_6

    多个VC++加密解密算法库(CRYPT++) 详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树...

    vc++ 应用源码包_5

    多个VC++加密解密算法库(CRYPT++) 详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...

    vc++ 开发实例源码包

    2:FTP下载支持多个站点同时下载一个文件(同时支持断点续传). 3:可以在不下载ZIP.RAR.ISO文件的情况下查看文件里面的目录文件. 4:支持多语言. 5:操作综合其它软件. 6:自定义快捷键. 7:在IE工具栏上加按钮,可以直接...

    vc++ 应用源码包_1

    多个VC++加密解密算法库(CRYPT++) 详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树...

    vc++ 应用源码包_2

    多个VC++加密解密算法库(CRYPT++) 详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树...

    vc++ 应用源码包_3

    多个VC++加密解密算法库(CRYPT++) 详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加解密以及其它的文件加解密),分静态库和动态库方法。 JSCalls_demo js调用的演示源码 树...

    Linux操作系统基础教程

    几种重要的配置文件.......................................................................................................26 三.Linux下常用的工具软件......................................................

    stanford_profile_helper:stanford_profile的子帮助程序支持模块

    这是Stanford Web Services自助服务平台安装配置文件的主要帮助程序模块,并用作更多内容的基础。 辅助功能 该模块符合大学可访问性政策要求的AA WCAG 2.0级标准。 有关该政策的更多信息,请访问: : 。 安装 像...

    C#全能速查宝典

    《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用...

Global site tag (gtag.js) - Google Analytics