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;
}
分享到:
相关推荐
此外,你可能还需要注意一些细节,比如在多模块项目中,可能会有多个日志配置文件,这时需要正确地加载和合并配置。还有,为了性能考虑,可以考虑使用异步日志器,这可以通过引入`log4j2`的异步组件实现。 总的来说...
例如,`log4j.properties`是Apache Log4j的日志配置文件,Log4j是一个广泛使用的日志记录框架,它允许开发者通过配置文件来定制日志级别、输出格式和目的地。 `log4j.properties`文件详解: 此文件用于配置Log4j,...
`laravel-log-viewer`可以作为CI/CD的一部分,帮助团队在代码合并前发现潜在错误。 总的来说,`laravel-log-viewer`是一个强大的辅助工具,它简化了Laravel日志的管理和分析,提高了开发者的工作效率。通过自定义...
8. **配置文件**:`apset.ini`可能是配置设置文件,用户可以通过修改此文件来定制软件的行为,比如默认保存路径、合并选项等。 9. **日志文件**:`Result.log`记录了软件运行时的详细信息,包括错误报告和操作历史...
4. SecondaryNameNode:辅助NameNode,分担NameNode工作量、定期合并fsimage和edits、推送给NameNode、执行合并时机、根据配置文件设置的时间间隔和edits log大小。 HDFS是Hadoop生态系统中的核心组件,提供了高...
* 根据配置文件设置edits log大小fs.checkpoint.size规定edits文件的最大值默认是64MB。 * 在紧急情况下,可以辅助恢复NameNode。 HDFS的体系结构: HDFS的体系结构主要由四个部分组成:HDFS Client、NameNode、...
- 使用`Fmerge.exe`工具合并多个文件,例如生成`ce.bib`文件; - 使用`Regcomp.exe`工具处理注册表初始化文件`Reginit.ini`; - 使用`Res2exe.exe`工具处理资源文件; - 使用`Romimage.exe`工具最终生成`NK.bin`文件...
由于是ZIP格式的压缩文件,我们可以推断其中包含了该系统的源代码、配置文件、文档或其他必要的资源。 【描述】中的"java"关键词确认了AHEAD管理系统是基于Java编程语言构建的。Java是一种广泛使用的面向对象的编程...
这个文件名表明它是在2021年4月20日发布的,采用的是流行的tarball (.tar.gz) 格式,这是一种在Linux和Unix系统中广泛使用的文件打包和压缩方法,它将多个文件和目录合并成一个单一的压缩文件,便于存储、传输和分发...
Spring IDE为Spring应用程序提供了集成的开发环境,支持Spring配置文件的可视化编辑和Bean之间的关系图展示,简化了Spring应用的开发和调试过程。 #### 19. Hibernator Hibernator是一款数据库与Java对象映射工具...
4. **协同开发**: 当多个开发者同时修改数据库脚本时,SVN的合并功能可以帮助解决冲突,确保团队的同步工作。 5. **备份与恢复**: SVN仓库可以视为一种备份机制。如果需要恢复数据库到某个特定版本,只需回退相应的...
- **协同开发**:允许多个开发者同时对同一项目进行修改,通过合并代码来整合各自的工作。 - **权限管理**:可以设定不同级别的访问权限,保护代码安全。 **3. 文件共享问题与解决方案** - **锁定-修改-解锁方案**...
以上25款插件涵盖了从代码分析、版本控制到项目管理和框架支持等多个方面,它们共同为Java程序员提供了更加高效和便捷的开发环境。通过合理选择并利用这些工具,可以显著提升开发效率和代码质量。
- Compaction:数据压缩处理,将多个数据文件合并为较少的、更大的文件。 - Version:数据版本。 - VersionSet:版本集合,管理leveldb的多个版本。 - VersionEdit:版本编辑记录。 - VersionSet::Builder:版本集合...
Apache配置需在httpd.conf中添加必要的模块和虚拟主机,svnserve则需要修改`servers`配置文件。 **三、SVN基本操作** 1. **检出(Checkout)**: 使用`svn checkout url`命令获取远程仓库的代码到本地。 2. **更新...
- **SNN 合并流程**:SecondaryNameNode 会定期地把 NameNode 中的 edit log 文件合并到 fsimage 文件中,减少 NameNode 在启动时需要加载的日志文件数量。 - **DataNode**:负责存储实际的数据块,并响应来自 ...
- **简化拉-合并-提交程序**:通过脚本或配置文件自动化常规任务。 - **重命名、复制与合并**:掌握这些操作的正确方法,避免合并时出现问题。 #### 四、Mercurial内部机制 - **历史记录**: - **跟踪单一文件的...
30.5.1 在配置文件中出现的版本库,即时生成/ 433 30.5.2 通配符版本库,管理员通过推送创建/ 434 30.5.3 直接在服务器端创建/ 435 30.6 对 Gitolite 的改进/ 435 30.7 Gitolite 功能拓展/ 436 30.7.1 版本库镜像/ ...
TortoiseSVN支持单个版本库和多个版本库的管理,文档列举了多个具体的SVN版本库地址示例: - **单版本库(singleSvnRepo)**:URL为`svn://62.234.98.33/singleSvnRepo`。 - **多版本库**: - `svn://62.234.98.33/...
- compact:合并多个sstable,提高查询效率。 五、总结 leveldb的设计和实现中体现了多种优化措施,例如: - merge-dump策略将随机写入转换为顺序写入,大幅提升了写入性能。 - 读取操作通过合理的数据布局和内存...