1.介绍Junithtml
2.Junit的使用java
3.介绍log4jweb
4.log4j的使用apache
Junit是一个java语言单元测试的框架,这款框架旨在对java程序进行单元测试,而且写好的方法不须要在主函数中进行调用就可测试。app
单元测试也就是常说的白盒测试。框架
Junit 的使用很是简单,大体可分为一下步骤ide
1.导入jar包函数
jar包地址以下http://www.mvnjar.com/junit/junit/4.12/detail.html工具
2.编写测试方法单元测试
测试方法有以下特征:
1.不能有返回值
2.不能有参数
3.在测试方法上使用注解
经常使用的junit注解有:
@Test:测试的方法注解
@Ignore:不被测试的方法注解
@Before:每次测试以前的方法注解,会在每个测试方法以前运行(若是有多个测试方法则会屡次运行)
@After:每次测试以后的方法注解,会在每个测试方法以后运行(若是有多个测试方法则会屡次运行)
@BeforeClass:在全部测试方法测试以前运行,只会在尚未进行测试的方法以前运行,优先级是最高的(只会运行一次)
@AfterClass:在全部测试方法测试以后运行,只会在全部测试方法以后运行,优先级是最高的(只会运行一次)
4.进行Junit单元测试
Junit单元测试demo以下:
package com.demo.junit; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; import junit.framework.Assert; public class Cal { @BeforeClass public static void init(){ System.out.println("初始化完毕"); } @AfterClass public static void destroy(){ System.out.println("销毁完毕"); } @Ignore public void test1(){ System.out.println("test1"); } @Test public void test2(){ System.out.println("test2"); Assert.assertEquals(2, 3); } @Test public void test3(){ System.out.println("test3"); Assert.assertTrue(false); } }
Apache Log4j是一个基于java的日志记录工具。
程序中用户的某些操做能够用日志记录下来,程序异常也能够用日志记录下来。
这样的好处在于----程序出错了,能够直接查看日志文件进行错误定位。
日志的结构:
一、日志优先级
OFF FATAL> ERROR >WARN >INFO>DEBUG + ALL
二、日志输出目的地(Appender)
ConsoleAppender:输出到控制台
FileAppender:输出到文件
DailyRollingAppender:天天产生一个日志文件
RollingFileAppender:日志文件产生到必定的大小后,再自动建立新的日志文件。
三、日志的输出格式
HTMLPattern HTML格式
SimpleLayout 基本格式(日志级别和信息)
PatterLayout 灵活指定
具体的输出格式
%n 换行
%m 日志的内容
%p 日志的级别 priority
%l 日志发生的位置 location
%d 日志发生的时间
%t 日志发生的线程名
%r 表示从启动应用到写入该日志花费的毫秒数
使用步骤:
1.导入jar包
jar包地址:http://www.mvnjar.com/com.opsbears.webcomponents.application.slf4j/log4j/1.0.0-alpha13/detail.html
2.建立日志配置文件
在项目的src下建立名为log4j.properties的文件
一下是一个自定义的一个模板
#定义log4j的根(制定日志级别和Appender) log4j.rootLogger = INFO,A1,A2,A3 #定义日志目的地1 控制台Appender log4j.appender.A1 = org.apache.log4j.ConsoleAppender #定义A1的输出格式(灵活的输出格式) log4j.appender.A1.layout = org.apache.log4j.PatternLayout #定义A1具体的输出格式 log4j.appender.A1.layout.ConversionPattern = [%p](%l) -->%m[%r][%t]--%d%n #定义日志目的地2 控制台Appender log4j.appender.A2 = org.apache.log4j.FileAppender #定义A2的输出格式(灵活的输出格式) log4j.appender.A2.layout = org.apache.log4j.PatternLayout #定义A2具体的输出格式 log4j.appender.A2.layout.ConversionPattern = [%p](%l) -->%m[%r][%t]--%d%n #定义日志文件的路径 log4j.appender.A2.file = F:\\log4j\\debug.log #定义日志目的地3 控制台Appender log4j.appender.A3 = org.apache.log4j.DailyRollingFileAppender #定义A2的输出格式(灵活的输出格式) log4j.appender.A3.layout = org.apache.log4j.PatternLayout #定义A2具体的输出格式 log4j.appender.A3.layout.ConversionPattern = [%p](%l) -->%m[%r][%t]--%d%n #定义日志文件的路径(单天的以1.log命名,以前的文件以日期格式命名) log4j.appender.A3.file = F:\\log4j\\1.log #定义日志文件的命名规范 以前的 log4j.appender.A3.DatePattern = yyyy-MM-dd'.log' #定义日志文件的追加模式 (文件追加) log4j.appender.A3.Append = true
日志模板能够在官方下载
3.日志记录
记录日志须要使用Logger对象
package com.demo.log4j; import org.apache.log4j.Logger; import org.junit.Test; public class App { Logger logger = Logger.getLogger(this.getClass()); @Test public void run() { logger.info("info信息"); logger.debug("debug信息"); try { Object obj = null; obj.toString(); logger.warn("这是一个日志"); } catch (Exception e) { logger.error(e.getMessage()); logger.fatal(e.getMessage()); } } }