《手把手教你》系列基础篇(九十)-java+ selenium自动化测试-框架设计基础-Logback实现日志输出-中篇(详解教程)

简介: 【7月更文挑战第8天】这篇教程介绍了如何使用Logback将Java应用的日志输出到文件中。首先,通过创建`logback.xml`配置文件,设置`FileAppender`来指定日志文件路径和格式。然后,提供了一个`RollingFileAppender`的例子,用于每日生成新的日志文件并保留一定天数的历史记录。文中包含配置文件的XML代码示例,并展示了控制台输出和生成的日志文件内容。教程最后提到了一些可能遇到的问题及解决建议。

1.简介

上一篇宏哥介绍是如何使用logback将日志输出到控制台中,但是如果需要发给相关人需要你拷贝出来,有时候由于控制台窗口的限制,有部分日志将会无法查看,因此我们还是需要将日志输出到文件中,因此今天主要介绍和分享如何使用logback将日志输出到文件中。

上一篇测试环境已经准备好了,今天我们直接进入主题开始实践。

2.项目实战

2.1日志输出到文件中

1.新建logback.xml或logback-test.xml(优先级高)文件中添加如下图所示内容:

2.logback.xml参考代码

xml version="1.0" encoding="UTF-8"?>  

 

<configuration>  

   <appender name="fileAppender" class="ch.qos.logback.core.FileAppender">  

       <file>./hg_logs/bjhg.logfile>  

       <encoder>  

           <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%npattern>  

       encoder>  

       <append>trueappend>  

       <prudent>falseprudent>  

   appender>

 

     

   <logger name="testSuites.TestLogback" level="INFO">  

       <appender-ref ref="fileAppender" />  

   logger>  

     

     

   <root level="DEBUG">  

       <appender-ref ref="fileAppender" />  

   root>  

configuration>

3.新建一个测试类:TestLogback,测试日志输出到文件中。宏哥这里还继续使用上一篇的测试类。

2.2运行代码

1.运行代码,右键Run AS->Java Appliance,控制台输出,如下图所示:

2.运行代码后打开日志文件,如下图所示:

2.3输出日志到文件(滚动)

实际生产中,每天都有大量的日志生成,单个文件(FileAppender)已经不能满足要求,RollingFileAppender继承了FileAppender,并提供了更多的功能:

(1)每天生成一个日志文件

(2)将前一天的日志重命名为包含日期的格式

(3)根据需要,删除过期历史日志

1.新建logback.xml或logback-test.xml(优先级高)文件中添加如下图所示内容:

2.logback.xml参考代码

xml version="1.0" encoding="UTF-8"?>  

 

<configuration>  

   <appender name="rollingAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">  

       <file>./hg_logs/bjhg.logfile>  

       <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  

           <fileNamePattern>./hg_logs/bjhg-%d{yyyy-MM-dd}.logfileNamePattern>  

           <maxHistory>30maxHistory>  

       rollingPolicy>  

       <encoder>  

           <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%npattern>  

       encoder>  

       <append>falseappend>  

       <prudent>falseprudent>  

   appender>  

 

     

   <logger name="testSuites.TestLogback" level="INFO">  

       <appender-ref ref="rollingAppender" />  

   logger>  

     

     

   <root level="DEBUG">  

       <appender-ref ref="rollingAppender" />  

   root>  

configuration>

3.新建一个测试类:TestLogback,测试日志输出到文件中。宏哥这里还继续使用上一篇的测试类。

2.4运行代码

1.运行代码,右键Run AS->Java Appliance,控制台输出,如下图所示:

2.运行代码后打开日志文件,如下图所示:

3.小结

1.没有输出日期的日志文件,这是因为第二天才会输出,如果你当天想看一下,那就将自己电脑的时间修改成明天,运行代码即可。

2.修改时间后还不行,看一下你的xml文件中是否配置了文件大小的,如果有,注释掉即可。

 好了,时间也不早了,今天就分享和讲解到这里,希望对您有所帮助,感谢您耐心地阅读!



每天学习一点,今后必成大神-

往期推荐(由于跳转参数丢失了,所有建议选中要访问的右键,在新标签页中打开链接即可访问):


Appium自动化系列,耗时80天打造的从搭建环境到实际应用精品教程测试

Python接口自动化测试教程,熬夜87天整理出这一份上万字的超全学习指南

Python+Selenium自动化系列,通宵700天从无到有搭建一个自动化测试框架

Java+Selenium自动化系列,仿照Python趁热打铁呕心沥血317天搭建价值好几K的自动化测试框架

Jmeter工具从基础->进阶->高级,费时2年多整理出这一份全网超详细的入门到精通教程

Fiddler工具从基础->进阶->高级,费时100多天吐血整理出这一份全网超详细的入门到精通教程

Pycharm工具基础使用教程

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
数据采集 Web App开发 数据可视化
Python爬虫教程:Selenium可视化爬虫的快速入门
Python爬虫教程:Selenium可视化爬虫的快速入门
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
329 7
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
498 7
|
XML Java API
Java日志通关(四) - Logback 介绍
作者日常在与其他同学合作时,经常发现不合理的日志配置以及五花八门的日志记录方式,后续作者打算在团队内做一次Java日志的分享,本文是整理出的系列文章第四篇。
|
JavaScript Java API
Java日志通关(二) - Slf4j+Logback 整合及排包
作者日常在与其他同学合作时,经常发现不合理的日志配置以及五花八门的日志记录方式,后续作者打算在团队内做一次Java日志的分享,本文是整理出的系列文章第二篇。
|
测试技术 API Android开发
《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)
【7月更文挑战第15天】这是关于自动化测试框架中Selenium API二次封装的教程总结。教程中介绍了如何设计一个支持不同浏览器测试的页面基类(BasePage),该基类包含了对Selenium方法的二次封装,如元素的输入、点击、清除等常用操作,以减少重复代码。此外,页面基类还提供了获取页面标题和URL的方法。
570 2
|
Web App开发 XML Java
《手把手教你》系列基础篇(九十六)-java+ selenium自动化测试-框架之设计篇-跨浏览器(详解教程)
【7月更文挑战第14天】这篇教程介绍了如何使用Java和Selenium构建一个支持跨浏览器测试的自动化测试框架。设计的核心是通过读取配置文件来切换不同浏览器执行测试用例。配置文件中定义了浏览器类型(如Firefox、Chrome)和测试服务器的URL。代码包括一个`BrowserEngine`类,它初始化配置数据,根据配置启动指定的浏览器,并提供关闭浏览器的方法。测试脚本`TestLaunchBrowser`使用`BrowserEngine`来启动浏览器并执行测试。整个框架允许在不同浏览器上运行相同的测试,以确保兼容性和一致性。
571 3
|
Java 测试技术 数据库
|
10月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
439 1
|
10月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
407 1