导入“log4j-1.2.17.jar”包后,在Eclipse的测试代码的工程根目录中新建一个名为 Log4j.xml 文件,文件配置如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> <appender name="myConsole" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" /> </layout> <!--过滤器设置输出的级别 --> <!-- <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="levelMin" value="debug" /> <param name="levelMax" value="warn" /> <param name="AcceptOnMatch" value="true" /> </filter> --> </appender> <appender name="myFile" class="org.apache.log4j.RollingFileAppender"> <!-- 设置日志输出文件名 --> <param name="File" value="D:/MobileSpeedTestProj/output1.log" /> <!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 --> <param name="Append" value="true" /> <param name="MaxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" /> </layout> </appender> <!-- 根logger的设置 --> <root> <level value="INFO"/> <appender-ref ref="myConsole" /> <appender-ref ref="myFile" /> </root> </log4j:configuration>
新建 Log 工具类,打印测试过程的信息,用于监控和后续调试测试脚本:
package cn.hx.util; import org.apache.log4j.Logger; public class Log { // 初始化一个Logger对象 private static Logger Log = Logger.getLogger(Logger.class.getName()); // 定义一个静态方法,可以打印自定义的某个测试用例开始执行的日志信息 public static void startTestCase(String sTestCaseName) { Log.info("-------------------------------------------------------------------------"); Log.info("**************** \"" + sTestCaseName + "\"测试用例开始 ****************"); } // 定义一个静态方法,可以打印自定义的某个测试用例结束执行的日志信息 public static void endTestCase(String sTestCaseName) { Log.info("**************** \"" + sTestCaseName + "\"测试用例结束 ****************"); Log.info("-------------------------------------------------------------------------"); } // 定义一个静态info方法,可以打印自定义的INFO级别的日志信息 public static void info(String message) { Log.info(message); } // 定义一个静态warn方法,可以打印自定义的INFO级别的日志信息 public static void warn(String message) { Log.warn(message); } // 定义一个静态error方法,可以打印自定义的INFO级别的日志信息 public static void error(String message) { Log.error(message); } // 定义一个静态fatal方法,可以打印自定义的INFO级别的日志信息 public static void fatal(String message) { Log.fatal(message); } // 定义一个静态debug方法,可以打印自定义的INFO级别的日志信息 public static void debug(String message) { Log.debug(message); } }