導入“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); } }