利用common-logging和log4j
准备开一大项目的话,日志系统必不可少。Apache为了让浩瀚的日志工具有一个相同操作办法,实现了一个通用日志工具包:commons-logging。而Log4j基本上是Java平台上最好的日志组件了,测试框架开拓中也会用到。
利用ommons-logging的Log接口,并由commons-logging在运行时决定利用哪种日志架构(如Log4j)。现在,Apache通用日志工具commons-logging和Log4j已经成为Java日志的标准工具。

02
日志级别
log4j紧张有如下的信息级别:
fatal:非常严重的缺点,导致系统中止。期望这类信息能立即显示在状态掌握台上。error:其它运行期缺点或不是预期的条件。期望这类信息能立即显示在状态掌握台上。warn:利用了不附和利用的API、非常拙劣利用API, ‘险些便是’缺点, 其它运行时不合须要和不合预期的状态但还没必要称为 “缺点”。期望这类信息能立即显示在状态掌握台上。info:运行时产生的故意义的事宜。期望这类信息能立即显示在状态掌握台上。debug:系统流程中的细节信息。期望这类信息仅被写入log文件中。trace:更加细节的信息。期望这类信息仅被写入log文件中。常日情形下,我们希望将info级别以上的日志信息输出到掌握台,而debug级别以上的信息写入到log文件中,而error信息写入到一个单独的文件中去,下面我们的实例将会实现这样的功能。
03
文件配置
Maven/Jar包
须要利用commons-logging.jar和log4j.jar包。如果利用Maven,则须要在pom中添加:
<dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version></dependency><dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version></dependency>
配置common-logging.properties文件
只须要一行即可,放在src/resources下
org.apache.commons.logging.Log = org.apache.commons.logging.impl.Log4JLogger
只须要一行即可,放在src/resources下
### set log levels ###log4j.rootLogger = debug , stdout , D , E### 输出到掌握台 ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.out## 输出INFO级别以上的日志log4j.appender.stdout.Threshold = INFOlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n### 输出到日志文件 ###log4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = D:/logs/log.loglog4j.appender.D.Append = true## 输出DEBUG级别以上的日志log4j.appender.D.Threshold = DEBUGlog4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n### 保存非常信息到单独文件 ###log4j.appender.E = org.apache.log4j.DailyRollingFileAppender## 非常日志文件名log4j.appender.E.File = D:/logs/error.loglog4j.appender.E.Append = true## 只输出ERROR级别以上的日志!!!log4j.appender.E.Threshold = ERRORlog4j.appender.E.layout = org.apache.log4j.PatternLayoutlog4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
测试
打印日志
log4j.properties中的日志输出到 D:/logs/log.log,到D盘看日志文件: