既然是搭建自动化测试框架,肯定是希望框架的整体功能是全面的。
如果在执行过程中出了问题,通过log进行查看是比较方便的,所以需要有一个log方法来记录日志。
记录日志比较常用的是log4j,我们以log4j来编写公共的log类来进行日志的保存。
Maven坐标
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
日志实现类
package com.Auto_Test.utils;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class Logs {
private final Class<?> clazz;
private Logger logger;
public Logs(Class<?> clazz) {
this.clazz = clazz;
this.logger = logger.getLogger(this.clazz);
Logs.initlog();
}
//定义记录log的方法
private static void initlog(){
//创建Propderties对象
Properties prop = new Properties();
/*Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG
这里定义能显示到的最低级别,若定义到INFO级别,则看不到DEBUG级别的信息了~!级别后面是输出端*/
prop.setProperty("log4j.rootLogger", "INFO,CONSOLE,E,F");
prop.setProperty("log4j.appender.CONSOLE", "org.apache.log4j.ConsoleAppender");
prop.setProperty("log4j.appender.CONSOLE.layout", "org.apache.log4j.PatternLayout");
prop.setProperty("log4j.appender.CONSOLE.layout.ConversionPattern", "[%d{HH:mm:ss,SSS}] %-5p %c %m%n");
//设置日志输出的路径
String src = "TestRport";
//设置日期格式
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
//获取当前日期,并根据当前的日期建立文件夹,将生成的.log文件放入当前日期的文件夹。
String date=dateFormat.format(new Date()).toString();
File dir = new File(src+"/"+date);
if (!dir.exists()){
dir.mkdirs();
}
String filepath=dir.getAbsolutePath()+"/"+"saasautotest"+".log";
//生成log格式的日志,并将生成的.log的日志文件放入当前日期的文件夹。
prop.setProperty("log4j.appender.E","org.apache.log4j.FileAppender");
prop.setProperty("log4j.appender.E.file",filepath);
prop.setProperty("log4j.appender.E.layout","org.apache.log4j.PatternLayout");
prop.setProperty("log4j.appender.E.layout.ConversionPattern", "[%d{HH:mm:ss,SSS}] %-5p %c %m%n");
prop.setProperty("log4j.appender.F","org.apache.log4j.FileAppender");
prop.setProperty("log4j.appender.file.encoding","UTF-8");
//生成Html格式的日志,并将生成的.html的日志文件放入当前日期的文件夹。
//String filepathHtml=dir.getAbsolutePath()+"/"+"log_"+date+".html";
//prop.setProperty("log4j.appender.F.file",filepathHtml);
//prop.setProperty("log4j.appender.F.layout","org.apache.log4j.HTMLLayout");
PropertyConfigurator.configure(prop);
}
public void info(String message) {
logger.info(message);
}
public void debug(String message) {
logger.debug(message);
}
public void error(String message) {
logger.error(message);
}
public void trace(String message) {
logger.trace(message);
}
}
需要此项目的可以加我微信15224918643获取,也可以一起交流技术。
欢迎打扰