日志框架实现实时改动,实时生效,详细框架思路(5)

代码接第(4)章;

private void writeLogWithModule(FileWriter fw, LogConfigBean lc)

throws IOException {

String pkgName = lc.getModuleName();

String append = LOG4J_APPEND_KEY_PREFIX + pkgName;

initData(fw, LOG4J_KEY_PREFIX + pkgName, lc.getLogLevel() + COMMA

+ pkgName);

initData(fw, append, FILE_APPEND_VALUE);

initData(fw, append + FILE_KEY_PREFIX,

"${logdir}" + lc.getLogFileName());

initData(fw, append + DATE_PATTERN_KEY, DATE_PATTERN_VALUE);

initData(fw, append + ".Append", "true");

initData(fw, append + MAX_FILE_SIZE_KEY_PREFIX, lc.getLogFileSize()

+ "MB");

initData(fw, append + MAX_BACKUP_INDEX,

String.valueOf(lc.getLogMaxFileCount()));

initData(fw, append + LAYOUT_KEY_PREFIX, LAYOUT_VALUE);

initData(fw, append + LAYOUT_PATTERN_KEY, LAYOUT_PATTERN_VALUE);

}

/**

* 读取Log4j的配置信息 <功能具体描写叙述>

*

* @return Properties [返回类型说明]

* @see [类、类#方法、类#成员]

*/

private Properties readLog4jProperties() {

Properties props = readProperties(WEB_INF_PATH + LOG4J_PROPERTIES_NAME);

// 推断props是否为空

if (props.isEmpty()) {

props = new Properties();

}

// 日志路径为空则取默认路径

if (props.getProperty("logdir") == null) {

props.setProperty("logdir", LOG_PATH);

}

return props;

}

时间: 2024-10-20 15:14:22

日志框架实现实时改动,实时生效,详细框架思路(5)的相关文章

SSM:spring+springmvc+mybatis框架中的XML配置文件功能详细解释

SSM:spring+springmvc+mybatis框架中的XML配置文件功能详细解释 2016-04-14 23:40 13030人阅读 评论(2) 收藏 举报 分类: SSM(7) 这几天一直在整合SSM框架,虽然网上有很多已经整合好的,但是对于里面的配置文件并没有进行过多的说明,很多人知其然不知其所以然,经过几天的搜索和整理,今天总算对其中的XML配置文件有了一定的了解,所以拿出来一起分享一下,希望有不足的地方大家批评指正~~~ 首先   这篇文章暂时只对框架中所要用到的配置文件进行解

Android数据库框架——GreenDao轻量级的对象关系映射框架,永久告别sqlite

Android数据库框架--GreenDao轻量级的对象关系映射框架,永久告别sqlite 前不久,我在写了ORMLite这个框架的博文 Android数据库框架--ORMLite轻量级的对象关系映射(ORM)Java包 但是对于我个人来说,我可能更加倾向于用GreenDao,所以今天也为大家带来了GreenDao的详细博客,希望大家喜欢,之前也详细介绍了ORM的思想,如果不明白可以先看一下前面的博文,这里就不多赘述了,我们新建一个工程 一.相关介绍 官方网站 : http://greendao

优雅地实现Android主流图片加载框架封装,可无侵入切换框架

项目开发中,往往会随着需求的改变而切换到其它图片加载框架上去.如果最初代码设计的耦合度太高,那么恭喜你,成功入坑了.至今无法忘却整个项目一行行去复制粘贴被支配的恐惧.:) 那么是否存在一种方式 能够一劳永逸地解决这个痛点呢?下面我们来分析一下图片加载框架面对的现状和解决思路. 问题现状 一个优秀的框架一般在代码设计的时候已经封装很不错了,对于开发者而言框架的使用也是很方便,但是为什么说我们往往还要去做这方面的框架封装呢?原因很简单,实际项目开发中,我们不得不面对着日新月异的需求变化,想要在这个变

《一头扎进》系列之Python+Selenium框架设计篇3- 价值好几K的框架,狼来了,狼来了....,狼没来,框架真的来了

1. 简介 前边宏哥一边一边的喊框架,就如同一边一边的喊狼来了!狼来了!.....这回是狼没有来,框架真的来了.从本文开始宏哥将会一步一步介绍,如何从无到有地创建自己的第一个自动化测试框架.这一篇,我们介绍,如何封装自己的日志类和浏览器引擎类. 2. 创建项目层级结构 如何创建,怎么创建.这个就需要我们前边介绍的框架概要设计以及框架的详细设计的思维导图,宏哥就是根据那个图,轻松地.清楚的.思路清晰地一步一步创建项目层级结构. 相关步骤: 1. 打开PyCharm,创建如下格式的项目层级结构,为了

企业级应用框架(五)IOC容器在框架中的应用

前言 在上一篇我大致的介绍了这个系列所涉及到的知识点,在本篇我打算把IOC这一块单独提取出来讲,因为IOC容器在解除框架层与层之间的耦合有着不可磨灭的作用.当然在本系列前面的三篇中我也提供了一种基于反射的解耦方式,但是始终不是很优雅,运用到项目中显得别扭.目前,我所掌握的IOC容器主要有两个:一个是 unity,另一个则是spring.net,经过慎重的思考我还是决定选择unity 2.0做为本系列的IOC容器,原因主要有两个:第一,他是一个轻量级的容器且师出名门(微软),第二,它提供了简单的拦

iOS之UI--主流框架的搭建-- 仿制QQ的UI框架

iOS之UI--主流框架的搭建-- 仿制QQ的UI框架 使用XCode搭建多个控制器界面,一般在实际开发中建议超过四个控制器界面使用纯代码. 下面的实例其实已经超过了四个,总结详细步骤的目的,主要是更熟悉XCode的StoryBoard使用细节. 先直接上我们这个主流框架要达到的效果: 首先我们需要设置应用程序的图标: 素材百度云链接: http://pan.baidu.com/s/1dEqz7Vj 密码: g34e 然后是设定应用程序启动界面的素材百度云链接: http://pan.baidu

人工智能计算器AI Calculator 3.3.0 详细破解思路&amp;教程

人工智能计算器AI Calculator 3.3.0 详细破解思路&教程 [文章标题]:人工智能计算器AI Calculator 3.3.0 详细破解思路&教程 [文章作者]: Ericky [作者邮箱]: [email protected] [下载地址]: 附件附上 [保护方式]: 360加固 [作者声明]: 主要记录自己的学习过程!欢迎交流学习 0x1脱壳 具体的脱壳去看看以前的一些文章,此篇文章主要讲破解部分,壳就略过了 0x2破解 先安装程序,看看错误提示,所谓知己知彼百战不殆正是

框架-------(二)Spring和SpringMVC框架(序列一初始原理概念)

1.什么是Spring? Spring是个java企业级应用的开源框架.Spring主要目标就是简化开发,并通过pojo为基础的编程模型促进良好的编程习惯. 2.为什么要使用Spring框架 它是轻量级的开源框架,基本的版本大约2MB. 控制反转IOC:Spring通过控制反转实现了松散耦合,对象们给出他们的依赖,而不是直接创建或者查找依赖的对象. 面向切面编程:AOP,Spring支持面向切面编程,应用业务逻辑和系统服务分开. 容器:Spring包含并管理应用中对象的生命周期和配置 MVC框架

《一头扎进》系列之Python+Selenium框架实战篇4- 价值好几K的框架,呵!这个框架有点意思啊!!!

1.简介 前面文章,我们实现了框架的一部分功能,包括日志类和浏览器引擎类的封装,今天我们继续封装一个基类和介绍如何实现POM.关于基类,是这样定义的:把一些常见的页面操作的selenium封装到base_page.py这个类文件,以后每个POM中的页面类,都继承这个基类,这样每个页面类都有基类的方法,这个我们会在这篇文章由宏哥实现. 2.项目层级结构 1. 上一篇中我们已经创建好了项目层级结构,具体项目层级结构如下图.这里不再赘述,相关文件也如下: 3. 定位和截图类封装 1. 在实现封装基类里

960CSS框架,之前有用过 了解下框架基本原理

http://blog.sina.com.cn/s/blog_8173443e010160b8.html CSS框架已经出现很长时间了,关于这些框架的用处也被我们讨论了很多遍了.有人说,CSS框架不够先进,还有人说这些框架大大的节省了他们的开发时间.在此,我们将不再讨论这个问题. 前段时间,我了解到了CSS框架.我最喜欢960CSS框架. 本教程将解释这个框架的基本原理,这样你就可以用960来快速进入开发. 基本原理 你必须知道一些基本原理来“学习这个框架是如何工作的”.你可以通过实验(或者是用