一、创建xml文件

1、创建xml文件

在项目中我们需要专门建一个文件夹来放xml文件或者是其它文件。

2、然后对文件夹进行命名

3、选择new  其它

4、选择XML File

5、给xml文件命名为log4j2.xml

6、创建成功

二、使用xml格式来定义配置文件

开始写标签

 <?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<!-- appenders表示日志存放的位置 -->
<Appenders>
<!-- 表示在控制台上输出信息 -->
<Console name="Console">
<!-- 设置我们需要输出信息,输出的风格是怎么样的 -->
<PatternLayout
pattern="%d{HH:mm:ss.SSS} %-5level %c{1} -%msg%n%" />
</Console>
</Appenders>
<Loggers>
<!-- 定义级别 -->
<Root level="info">
<!-- 输出日志的目的地 -->
<AppenderRef ref="Console" />
</Root>
</Loggers>
</Configuration>

注:

1、<Console name="Console">:name="Console"表示给“Console”取名字。

2、<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %c{1} -%msg%n%" />:

%d{HH:mm:ss.SSS} 表示输出到毫秒的时间

%-5level 输出日志级别,-5表示左对齐并且固定输出5个字符,如果不足在右边补0

%c{1}表示输出当前类名(填写“2”,表示输出该类的类名和所在包名。“3”表示输出所在的包和所在包的上级包名)

%msg 日志文本

%n 换行

其他常用的占位符有:

%F 输出所在的类文件名,如Client.java

%L 输出行号

%M 输出所在方法名

%l  输出语句所在的行数, 包括类名、方法名、文件名、行数

3、<AppenderRef ref="Console" />:Console是<Appenders>的名字,表示输出的目的地,这样rootlog就会使用配置的<Appenders>来记录log信息。

三、日志输出

1、无配置文件时控制台的报错信息展示(红色字体报错提示找不到配置文件):

2、有配置文件输出时信息展示:

a、首先我们需要将配置文件build一下

b、然后clean一下

c、运行代码

 package log4jtutorial;

 import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; public class LoggingConsole{ // 首先需要定义一个log对象
// 定义成static final是因为只需要这一个实例,不能再有子类,多次调用的都是这一个实例,所以我们可以一直用这个对象来记录日志,不需要创建新的对象。
// .getLogger()方法返回的是一个Logger对象实例
// 括号里面的参数用来记现在所在的类(LoggingDemo.class.getName())
private static final Logger log = LogManager.getLogger(LoggingDemo.class.getName()); public static void main(String[] args) {
log.debug("Debug message logged");
log.error("Error message logged");
log.fatal("Fatal message logged"); }
}

d、运行代码(可以看出此次没有红色错误提示,证明配置日志文件成功)

注:

在代码中我们设置了打印“debug、error、fatal”,但控制台实际却只打印了“error、fatal”,这是因为我们在配置文件中设置了只打印info级别以上的日志,如果我们把“info”换成“trace”

就能够将3个级别的日志都打印出来。

更换级别后的打印结果:

如果有不明白的小伙伴可以加群“555191854”问我,群里都是软件行业的小伙伴相互一起学习。

内容具有连惯性,未标注的地方可以看前面的博客,这是一整套关于ava+selenium自动化的内容,从java基础开始。

欢迎关注,转载请注明来源。

章节十五、7- 配置文件-Console Logging的更多相关文章

  1. 章节十五、8-配置文件File Logging

    一.如何将log输出到文件中? 1.配置xml文件 <?xml version="1.0" encoding="UTF-8"?> <Confi ...

  2. 章节十五、5-记录日志---Log4j

    一.为什么要用Log4j记录日志? 日志记录对于任何应用程序都非常重要. 它可以帮助我们快速调试代码,通过收集代码执行的信息让代码容易维护. 二.Log4j 是什么? Apache为Java提供的日志 ...

  3. 章节十五、9-自定义Loggers

    一.如何给不同的包设置不同的日志级别? 1.针对不同的包来记录不同级别的日志信息 2.在日志xml配置文件中加入配置信息(红色标注) <?xml version="1.0" ...

  4. 章节十五、6-log4 2-用默认的配置

    一.实例演示 package log4jtutorial; import org.apache.logging.log4j.LogManager; import org.apache.logging. ...

  5. 章节十五、3-对象仓库、Page Factory实例应用

    一.如何创建对象仓库 package pageclasses; import org.openqa.selenium.WebDriver; import org.openqa.selenium.Web ...

  6. 章节十五、2-PageObjectModel

    一.在实现自动化过程中,会有很多重复的代码,我们在维护代码时会很困难,如果想解决这个问题,我们就需要使用PageObjectModel(页面对象模型)的方式来进行自动化代码的书写. 二.案例演示 以该 ...

  7. centos lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress 安装phpmyadmin 定时备份mysql两种方法 第二十五节课

    centos  lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress  安装phpmyadmin  定时备份mysql两种方法  第二十五节 ...

  8. Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G

    code&monkey   Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...

  9. thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成(十五)

    原文:thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成(十五) 本章节:详细介绍thinkphp URL规则.URL伪静态.URL路由.URL重写.URL生成 一.URL ...

随机推荐

  1. WordPress教程之如何入门WordPress

    这篇文章将介绍如何设置 WordPress,并自定义其基本功能.WordPress 的安装包相对较小(低于 10 MB),非常易于安装和管理.为了托管自己的网站,你可以获得几个不同的选项. 你可以通过 ...

  2. 【linux杂谈】在SSH连接中,openssh如何解决'Connection refused'错误?

    openssh是SSH (Secure SHell) 协议的免费开源实现.SSH协议族可以用来进行远程控制, 或在计算机之间传送文件. 这就意味着远程登陆,文件推拉特别是搭建集群后公钥的部署,经常要利 ...

  3. Web前端——JavaScript扩展补充

    JS补充 document也是windows的一个子对象 a标签点击事件 要想设置点击a标签,执行某种方法,推荐在a标签的herf属性使用JavaScript伪协议,实现点击之后执行的js方法,而不是 ...

  4. Spark 的 python 编程环境

    Spark 可以独立安装使用,也可以和 Hadoop 一起安装使用.在安装 Spark 之前,首先确保你的电脑上已经安装了 Java 8 或者更高的版本. Spark 安装 访问Spark 下载页面, ...

  5. STM32F072从零配置工程-串口USART配置

    也是使用HAL库进行配置,通过STMCube生成代码,可以通过这个简单的配置过程看到STMCube生成代码的一种规范: 从main函数入手观察其外设配置结构: 首先是HAL_Init()进行所有外设的 ...

  6. java学习笔记(基础篇)—java数组

    一:什么是数组,什么时候使用数组? 数组是用来保存一组数据类型相同的元素的有序集合,数组中的每个数据称为元素.有序集合可以按照顺序或者下标取数组中的元素. 在Java中,数组也是Java对象.数组中的 ...

  7. 列表 元组 range

    2019 年 7 月 9 日 列表---list------容器 列表:存储数据,支持多个数据类型,比如 :字符串 数字 布尔值 列表 集合 元组 ​ 特点 : 有序 可变 支持索引 (定义一个列表不 ...

  8. 「数据分析」Sqlserver中的窗口函数的精彩应用-问题篇

    最近看到PowerBI圈子在讨论最大连续区间段的问题,即某人最大的全勤时间,某人的最长的连续打卡时间等问题的计算,佐罗老师给出了10万倍性能的答案.这个问题也引发了笔者一些兴趣,隐约记得以前看过Sql ...

  9. MVC+EFCore 完整教程18 -- 升级分布视图至 View Component

    之前我们详细介绍过分布视图(partial view),在有一些更加复杂的场景下,.net core为我们提供了更加强大的组件 view  component, 可以认为view component是 ...

  10. python课堂整理5---元组

    一.元组   Tuple tu = (111, 22, 33, "alex", (11,22), [(33, 44)], True, ) 元组元素不可被修改,不能被增加或删除 一般 ...