Log4J学习【十一】Properties配置方式测试
来源:互联网 发布:怎样咨询淘宝人工客服 编辑:程序博客网 时间:2024/05/17 20:47
上一章我们讲了Properties配置方式
下面来运行一下测试:
0 [main] INFO cd.itcast.log.Configure - using default db.properties
0 [main] INFO cd.itcast.log.Configure - using config file in classpath:db.properties
0 [main] INFO cd.itcast.core.LogicProcessor - init logic processor using conf
0 [main] INFO cd.itcast.core.LogicProcessor - process some logic
正确输出日志,并且按照我们的配置输出日志。
先不考虑这个配置文件的细节,我们来想一下这样做之后的代码模式。首先,我们仍然需要在系统启动的时候,采用某种机制来使用PropertyConfigurator类来读入配置文件,这时候只需要再引入一个PropertyConfigurator类即可,不再需要引入其他诸如Appender的类了,其次,我们把所有针对某一些Logger的配置全部移到了.properties文件,就达到了使用配置文件来动态配置系统日志的功能了。总体来讲,这个改进是很明显的。当然,后面我们还可以看到Log4J为我们考虑的更多。
下面我们就来详细考察一下使用properties配置的过程及配置格式。首先一点,为什么当我加入了log4j.properties,按照这种方式完成配置,Log4j就能认识了呢?他是怎么做的?换句话说,我们能不能通过日志的方式看到Log4J内部的配置流程呢?是的,要看到Log4J内部的日志(这很有意思,日志框架如果自己的代码都不做日志,其他程序员还敢用么?)只需要在刚才的log4j.properties文件中加入一行配置:
log4j.debug=true
我们再次运行测试:
log4j: Parsing for [root] with value=[INFO,A].
log4j: Level token is [INFO].
log4j: Category root set to INFO
log4j: Parsing appender named "A".
log4j: Parsing layout options for "A".
log4j: Setting property [conversionPattern] to [%-4r [%t] %-5p %c %x - %m%n].
log4j: End of parsing for "A".
log4j: Parsed "A" options.
log4j: Finished configuring.
输出会多出这些Log4J本身的日志信息。这里大家需要注意一点的就是,Log4J本身的日志信息只能输出到Console中,没法输出到其他目的地。大家可以仔细看看这个流程,是不是很清晰?这里需要注意一点的是,按照正常的情况,这段内置的日志信息会被输出两次,主要的问题就是我们在rootLogger上面多绑定了一个ConsoleAppender;如果没有绑定这个appender或者这个appender是一个ConsoleAppender以外的,就只会出现一次。
下面来运行一下测试:
0 [main] INFO cd.itcast.log.Configure - using default db.properties
0 [main] INFO cd.itcast.log.Configure - using config file in classpath:db.properties
0 [main] INFO cd.itcast.core.LogicProcessor - init logic processor using conf
0 [main] INFO cd.itcast.core.LogicProcessor - process some logic
正确输出日志,并且按照我们的配置输出日志。
先不考虑这个配置文件的细节,我们来想一下这样做之后的代码模式。首先,我们仍然需要在系统启动的时候,采用某种机制来使用PropertyConfigurator类来读入配置文件,这时候只需要再引入一个PropertyConfigurator类即可,不再需要引入其他诸如Appender的类了,其次,我们把所有针对某一些Logger的配置全部移到了.properties文件,就达到了使用配置文件来动态配置系统日志的功能了。总体来讲,这个改进是很明显的。当然,后面我们还可以看到Log4J为我们考虑的更多。
下面我们就来详细考察一下使用properties配置的过程及配置格式。首先一点,为什么当我加入了log4j.properties,按照这种方式完成配置,Log4j就能认识了呢?他是怎么做的?换句话说,我们能不能通过日志的方式看到Log4J内部的配置流程呢?是的,要看到Log4J内部的日志(这很有意思,日志框架如果自己的代码都不做日志,其他程序员还敢用么?)只需要在刚才的log4j.properties文件中加入一行配置:
log4j.debug=true
我们再次运行测试:
log4j: Parsing for [root] with value=[INFO,A].
log4j: Level token is [INFO].
log4j: Category root set to INFO
log4j: Parsing appender named "A".
log4j: Parsing layout options for "A".
log4j: Setting property [conversionPattern] to [%-4r [%t] %-5p %c %x - %m%n].
log4j: End of parsing for "A".
log4j: Parsed "A" options.
log4j: Finished configuring.
输出会多出这些Log4J本身的日志信息。这里大家需要注意一点的就是,Log4J本身的日志信息只能输出到Console中,没法输出到其他目的地。大家可以仔细看看这个流程,是不是很清晰?这里需要注意一点的是,按照正常的情况,这段内置的日志信息会被输出两次,主要的问题就是我们在rootLogger上面多绑定了一个ConsoleAppender;如果没有绑定这个appender或者这个appender是一个ConsoleAppender以外的,就只会出现一次。
0 0
- Log4J学习【十一】Properties配置方式测试
- Log4J学习【十一】Properties配置方式测试
- Log4J学习【十】Properties配置方式
- log4j.properties配置学习
- log4j.properties配置详解 学习
- log4j.properties文件配置的一种方式
- log4j.properties log4j 配置
- log4j配置log4j.properties
- log4j详解(一)properties配置方式+Socket编程
- log4j.properties配置详解与实例-全部测试通过
- log4j.properties配置详解与实例-全部测试通过
- log4j.properties配置详解与实例-全部测试通过
- log4j.properties配置详解与实例-全部测试通过
- log4j.properties配置详解与实例-全部测试通过
- log4j.properties配置详解与实例-全部测试通过
- log4j.properties配置详解与实例-全部测试通过
- log4j.properties配置详解与实例-全部测试通过
- log4j.properties配置详解与实例-全部测试通过
- <activity>标签中activity:windowSoftInputMode的属性详解
- 20个超实用的JavaScript技巧及最佳实践
- 迭代器报“vector iterators incompatible”错的几种可能
- BCB OpenDialog 设置了Filter属性后但是却没有过滤效果
- 换行
- Log4J学习【十一】Properties配置方式测试
- 前台插入数据后,数据库里没有显示
- Oracle RAC 平台下 Patch 安装与卸载 步骤
- revise a paper
- LinkedHashMap和HashMap的比较使用
- OpenGL(Open Graphics Library) 一
- 云计算里AWS和Azure的探究
- Android获取状态栏高度
- jquery随机加载xml内容