之前的测试框架:http://www.cnblogs.com/tobecrazy/p/4553444.html
配合Jenkins可持续集成:http://www.cnblogs.com/tobecrazy/p/4529399.html
这次demo的代码已经放到github:https://github.com/tobecrazy/Demo
打log是一个测试框架必备的功能之一,trace测试执行的内容,使测试分析更容易和有规律可循。进而进一步处理测试log,实现自动分析测试结果。
现在java项目写日志一般使用Log4j 2
log4j 2是一个开源的记录log的框架,比log4j 效率更高
更多内容:http://logging.apache.org/log4j/2.x/manual/index.html
首先下载相应的jar包,放到工程:
接下来创建Log类,使用
clazz.getCanonicalName() 获取类名字,为将来case执行获取case名和page名和action名
package com.log; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class Log { private final Class<?> clazz; private Logger logger; /** * * @param clazz */ Log(Class<?> clazz) { this.clazz = clazz; this.logger = LogManager.getLogger(this.clazz); } /** * @author Young * @param message * */ public void info(String message) { logger.info(clazz.getCanonicalName() + ": " + message); } /** * @author Young * @param message */ public void debug(String message) { logger.debug(clazz.getCanonicalName() + ": " + message); } /** * @author Young * @param message */ public void error(String message) { logger.error(clazz.getCanonicalName() + ": " + message); } /** * @author Young * @param message */ public void trace(String message) { logger.trace(clazz.getCanonicalName() + ": " + message); } /** * @author Young * @param message */ public void warn(String message) { logger.warn(clazz.getCanonicalName() + ": " + message); } /** * @author Young * @param message */ public void fatal(String message) { logger.fatal(clazz.getCanonicalName() + ": " + message); } }
接下来就可以直接调用这个类:
package com.log;
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Log log=new Log(test.class);
log.info("this is my test");
log.debug("this is a debug");
log.error("this is an error ");
log.fatal("this is a fatal");
log.trace("this is a trace");
}
}
然后, run as application 吧
结果如下: holy shit,damn it 居然报错
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
23:52:47.679 [main] ERROR com.log.test - com.log.test: this is an error
23:52:47.680 [main] FATAL com.log.test - com.log.test: this is a fatal
原来是缺少config
于是乎准备一份log4j2.xml文件,放在该package下:
<?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/> </Console> <File name="log" fileName="logs/test.log" append="false"> <PatternLayout pattern="%d{YYYY-MM-dd HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/> </File> </Appenders> <Loggers> <Logger name="com.dbyl.libarary.utils.Log" level="all"> <AppenderRef ref="Console"/> <AppenderRef ref="log"/> </Logger> <Root level="trace"> <AppenderRef ref="Console"/> <AppenderRef ref="log"/> </Root> </Loggers> </Configuration>