Web UI自动化之日志打印

基于Selenium的Web UI自动化实现(java)

我在我的 WebUIAuto 项目中使用的是 log4j 2框架进行日志输出。

一、下载相关的 jar 包
https://logging.apache.org/log4j/2.x/download.html
在这里插入图片描述
解压得到一系列的 jar 包,将两个关键的 jar 包导入项目中
在这里插入图片描述

二、添加配置文件

系统选择配置文件的优先级(从先到后)如下:
在这里插入图片描述配置文件的命名也要参考上图中的规则,我是在resource文件夹下新建了 log4j2.xml 文件

三、配置文件介绍

1.文件结构

  • Configuration
    该节点是配置文件的开始,其它节点都在这个节点之下。该节点通过 status 属性指定log4j本身打印日志的级别。优先级从高到低分别是error, warn, info, debug, trace
    在这里插入图片描述

  • Appenders
    该节点通常用来定义日志内容的去向,日志格式等。常见的子节点有Console、RollingFile、File。

    • Console
      用来定义输出到控制台的 Appender。name 属性指定 appender 名字,target 属性指定输出方式,一般为 SYSTEM_OUT,PatternLayout 子节点指定输出格式。例如
      在这里插入图片描述
    • File
      用来输出日志信息到文件中。name属性指定appender名字,fileName属性指定文件名及路径,append 属性指定日志内容是否为添加。PatternLayout子节点指定输出格式。例如
      在这里插入图片描述
  • Loggers
    包括 Root 节点和 Logger 节点

    • Root节点
      指定项目的根日志,必须配置。AppenderRef 指定该日志输出到哪个Appender。例如
      在这里插入图片描述
    • Logger节点
      用来单独指定日志的形式,比如要为指定包下的class指定不同的日志级别等。name 属性指定该 Logger 所适用的类或者类所在的包全路径,AppenderRef 节点是 Logger 的子节点,用来指定该日志输出到哪个Appender。

综上,一个 log4j2 的完整xml配置可以如下

<?xml version="1.0" encoding="utf-8"?>
<Configuration status="error" >
<Appenders>
	<Console name="STDOUT" target="SYSTEM_OUT">
	<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
	</Console>

	<File name="file" fileName="target/log.txt" append="false">
	<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
	</File>
</Appenders>

<Loggers>
	<Root level="debug">
	<AppenderRef ref="STDOUT"/>
	<AppenderRef ref="file"/>
</Root>
</Loggers>
 
</Configuration>

四、添加代码

配置好了日志文件以后,就可以在代码中加入日志打印语句了,具体实现如下:

首先在类中声明 Logger 对象并导入对应的包

public static Logger logger = LogManager.getLogger(SearchPage.class);

对应的包

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

在方法中添加日志打印语句

logger.debug("input " + keyword);

五、运行并查看结果

控制台中打印了日志信息:
在这里插入图片描述
并且在 target 文件夹下出现了 log.txt 文件,打开可以看到日志信息:在这里插入图片描述
扫码关注微信公众号
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值