使用Log4在测试过程中打印执行日志 及配置log4j.properties!
http://zengxiantao.iteye.com/blog/1881706
1.环境配置:到网上下载log4j-1.2.17.jar包!完后 添加到 项目的build path 中即可!
2.在eclipse测试代码的根目录创建一个名为Log4j.xml 文件,
xml 的内容为:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<appender name="fileAppender" class="org.apache.log4j.FileAppender">
<param name="Threshold" value="INFO"/>
<param name="File" value="logfile.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c{1}] %m %n"/>
</layout>
</appender>
<root>
<level value="INFO"/>
<appender-ref ref="fileAppender"/>
</root>
</log4j:configuration>
log4j.properties
log4j.rootLogger=INFO, stdout, fileout
log4j.logger.TestProject=INFO
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-5p %d{yyyy-MM-dd HH:mm:ss} %l %c : %m%n
log4j.appender.fileout=org.apache.log4j.FileAppender
log4j.appender.fileout.File=c:/test.log
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.ConversionPattern=%-5p %d{yyyy-MM-dd HH:mm:ss} %l %c : %m%n
Log类
mport java.io.File;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator; public class Log { private static Logger logger; private static String filePath = "config/log4j.properties"; private static boolean flag = false; private static synchronized void getPropertyFile() {
logger = Logger.getLogger("TestProject");
PropertyConfigurator.configure(new File(filePath).getAbsolutePath());
flag = true;
} private static void getFlag() {
if (flag == false)
Log.getPropertyFile();
} public static void logInfo(String message) {
Log.getFlag();
logger.info(message);
} public static void logError(String message) {
Log.getFlag();
logger.error(message);
} public static void logWarn(String message) {
Log.getFlag();
logger.warn(message);
} }
3.创建一个工具类 Log ;
package cn.gloryroad; import org.apache.log4j.Logger; public class Log { private static Logger Log=Logger.getLogger(Log.class.getName());
public static void startTextCase(String sTextCaseName){
Log.info("-----------------------------------------------------------------------------------------");
Log.info("***********************************"+sTextCaseName+"*************************************");
} public static void endTestCase(String sTextCaseName ){ System.out.println("****************测试用例结束******************************");
System.out.println("----------------------------------------------------------"); System.out.println(); }
public static void info(String message){
Log.info(message);
} //定义个warn方法 打印 warn级别的信息 ;
public static void warn(String message){
Log.warn(message); }
//定义个 error 方法 打印自定义的错误信息 ;
public static void error(String message){
Log.error(message); }
//fatal(重大的 致命的) 定义一个fatal 方法 ,打印重大级别的信息 ;
public static void fatal(String message){
Log.fatal(message); }
//定义一个debug方法打印自定义的 debug信息 !
public static void debug(String message){ Log.debug(message); } }
4.测试代码
package scr.comm.testComm; import org.apache.log4j.xml.DOMConfigurator;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver; import cn.gloryroad.Log; import scr.comm.OpenBrowserInfo; public class TestComm { public static void main(String[] args) {
DOMConfigurator.configure("Log4j.xml");
String url="http://www.sogou.com/";
OpenBrowserInfo openinfo =new OpenBrowserInfo() ;
openinfo.SystemSetProperty();
WebDriver dr =new FirefoxDriver();
Log.startTextCase("打开搜狗浏览器");
dr.navigate().to(url);
Log.info("点击搜索按钮!");
dr.findElement(By.id("stb")).click();
Log.info("close current borwser!");
dr.quit();
Log.endTestCase("souguo"); } }
5.代码执行完毕后会在workspace下产生一个文件filelog.log
使用Log4在测试过程中打印执行日志 及配置log4j.properties!的更多相关文章
- 2.9 log4j 在测试过程中打印执行日志
Apache Log4j配置说明/log4j的分层打印 http://blog.csdn.net/zzy7075/article/details/53763728
- Selenium WebDriver Log4j打印执行日志
在自动化测试脚本的执行过程中,使用log4j在日志文件中打印执行日志,用于监控和后续调试脚本. Log4j.xml 文件 <log4j:configuration xmlns:log4j=&qu ...
- 【他山之石】mybatis打印sql日志 相关配置
背景:mybatis的sql日志打印对我来说一直比较迷,哪怕看过网上很多博客后还是这样,这两天刚好又遇到了问题,要查sql不得已又来查阅,这次终于搞定了. mybatis是有提供日志功能支持的,目前支 ...
- django中邮件、日志的配置
邮件的发送及配置 # 配置邮件 EMAIL_USE_SSL = True EMAIL_HOST = 'smtp.qq.com' # 如果是 163 改成 smtp.163.com EMAIL_PORT ...
- log4j 配置日志输出(log4j.properties)
轉: https://blog.csdn.net/qq_29166327/article/details/80467593 一.入门log4j实例 1.1 下载解压log4j.jar(地址:http: ...
- springMVC项目中配置log4j.properties路径
log4j.properties不打到war包中,单独写到一个存放配置文件的文件夹中,在容器中将该文件夹放入classpath,在web.xml中可以如下配置: <context-param&g ...
- 在android中使用logback-android日志框架配置 slf4j + logback
为什么使用 slf4j + logback logbak定位于log4j的替代者,logback同样支持slf4j,方便被替换.在Android平台上,我在使用log4中遇到tag混乱的问题.相比lo ...
- IDEA中 mybatis-config、applicationContext.xml、log4j.properties、SpringMVC等文件没有图标标识符号,不是一个xml文件
1. 举例说明 mybatis-config.xml文件不显示图标,识别不出该xml文件 2. 解决办法 1)先点击 File -> Settings-,然后贴入下面代码 (2) 具体操作如下图 ...
- java中关于log日志
博:http://zhw2527.iteye.com/blog/1006302 http://zhw2527.iteye.com/blog/1099658 在项目开发中,记录错误日志是一个很有必要功能 ...
随机推荐
- Git最常用的命令 总结
stage/unstage git add xxx.xx 和 git reset HEAD xxx.xx 前者将本地的修改提交到index(此操作成为stage,参考备注1),后者将已提交到inde ...
- shiro实战整合
引入依赖(包括缓存等): <!-- SECURITY begin --> <dependency> <groupId>org.apache.shiro</gr ...
- 20155207王雪纯 2006-2007-2 《Java程序设计》第1 周学习总结
20155207王雪纯 2006-2007-2 <Java程序设计>第1 周学习总结 教材学习内容总结 第一周重点学习第一章和第二章. 第一章总的来讲,我认为可以称之为本书的绪论,介绍了包 ...
- WPF GDI+字符串绘制成图片(二)
原文:WPF GDI+字符串绘制成图片(二) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/BYH371256/article/details/83 ...
- OpenStack入门篇(一)之云计算的概念
1.云计算 云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少 ...
- js Date对象要注意的问题(时间转换)
1.时间戳和时间对象可以灵活转变: let n = new Date() // 返回的是当前时间对应的国际时间 let nt =n.getTime() let n2 =new Date(nt) con ...
- DevOps是一种文化,不是角色!
一.DevOps是一种文化,不是角色! 软件无处不在.在如今的世界里,每个主流公司/组织都和软件开发息息相关,并且公司需要向软件一样运作.更快且更敏捷,同时保证安全性和可靠性,这样的要求前所未有的强烈 ...
- QQ在线交谈一句代码搞定
现在有很多网页都有QQ在线咨询,还有什么QQ客服什么的,看着很高大上的一个功能,其实要实现很简单,只需要一句代码就搞定. 还是按以前的套路,先看效果图,再晒源代码 点击图标 再点击 就可以聊天了 再来 ...
- [转]RobotFrameWork+APPIUM实现对安卓APK的自动化测试----第一篇【安装】
前言:关于RobotFrameWork+APPIUM实现对安卓APK的自动化测试的文章都是取自于乐于分享知识于网络的好心人们,所以我也希望我的知识可以分享给大家. 首先我们先罗列一下我们要安装的软件 ...
- 使用Photon引擎进行unity网络游戏开发(四)——Photon引擎实现网络游戏逻辑
使用Photon引擎进行unity网络游戏开发(四)--Photon引擎实现网络游戏逻辑 Photon PUN Unity 网络游戏开发 网络游戏逻辑处理与MasterClient 网络游戏逻辑处理: ...