Junit单元测试
Junit单元测试,它可以让方法独立执行。这样我们每写完一个方法,就可以使用Junit运行,检查方法的正确性。
//运行在@Test直接之前
@Before
public void before(){
System.out.println("运行在Test之前");
}
//加上@Test注解的方法,可以独立执行。
//绿色:表示正常执行
//红色:执行出现问题
@Test
public void show(){
int a=10;
int b=20;
int sum=a+b;
System.out.pritnln(sum);
}
//运行在@Test直接之后
@After
public void after(){
ystem.out.println("运行在Test之后年");
}
Log4j日志
日志和输出语句对比:
共同点:日志和输出语句都可以用来记录程序运行过程中的一些数据。
不同点:
输出语句:信息量比较少
日志:信息量比较多(时间、线程、行号、数据信息...),可以打印在控制台,也可以打印在文件中。
日志的意义(行车记录仪):
日志可以记录程序的运行情况,一旦程序出现问题,可以根据日志信息去查找问题。
日志写好,代码没烦恼。
日志级别
DEBUG: 一般性的日志记录
INFO: 比较重要的日志记录
WRAN: 可能会有问题的日志记录
ERROR: 可能程序出现错误,但是不影响执行
FATAL: 程序出现了严重问题
输出目的
ConsoleAppender: 往控制台输出
FileAppender: 往文件中输出
输出模式
PatternLayout: 灵活这控制输出的格式
SimpleLayout: 包含日志级别,日志信息字符串
TTCClayout: 包含有线程名称、时间等信息
使用Log4j的步骤
先把配置文件复制到src目录下,配置文件的名称一定要叫log4j.properties
# debug: 日志级别
# my:输出目的的名称1:ConsoleAppender控制台
# fileAppender: 输出目的的名称2:FileAppender文件
log4j.rootLogger=debug,my,fileAppender
# 往控制台输出
log4j.appender.my=org.apache.log4j.ConsoleAppender
# 立即刷新
log4j.appender.my.ImmediateFlush = true
# 打印流
log4j.appender.my.Target=System.out
# 日志输出模式可以灵活指定
log4j.appender.my.layout=org.apache.log4j.PatternLayout
# 日志输出模式细节
log4j.appender.my.layout.ConversionPattern=%d %t %5p %c{1}:%L - %m%n
# 往文件输出
log4j.appender.fileAppender=org.apache.log4j.FileAppender
# 立即刷新
log4j.appender.fileAppender.ImmediateFlush = true
# 消息追加到文件中,不被覆盖
log4j.appender.fileAppender.Append=true
# 消息输出到指定文件中
log4j.appender.fileAppender.File=C:/itheima/log4j-log.log
# 日志输出模式可以灵活指定
log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout
# 日志输出模式细节
log4j.appender.fileAppender.layout.ConversionPattern=%d %5p %c{1}:%L - %m%n
使用Log4j打印日志信息
public class Log4jTest {
public static void main(String[] args) {
//获取用来打印日志信息的对象Logger
Logger logger= LoggerFactory.getLogger(Log4jTest.class);
Scanner sc=new Scanner(System.in);
System.out.println("请输入键盘录入的字符串:");
String str = sc.nextLine();
int num =0;
try {
num = Integer.parseInt(str);
logger.error("数据格式是正确的:"+num);
}catch (NumberFormatException e){
logger.error("输入的数据格式不正确:"+num);
}
}
}
|