章节十五、7- 配置文件-Console Logging

一、创建xml文件

1、创建xml文件

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

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

3、选择new  其它

4、选择XML File

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

6、创建成功

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

开始写标签

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <Configuration>
 3     <!-- appenders表示日志存放的位置 -->
 4     <Appenders>
 5         <!-- 表示在控制台上输出信息 -->
 6         <Console name="Console">
 7             <!-- 设置我们需要输出信息,输出的风格是怎么样的 -->
 8             <PatternLayout
 9                 pattern="%d{HH:mm:ss.SSS} %-5level %c{1} -%msg%n%" />
10         </Console>
11     </Appenders>
12     <Loggers>
13         <!-- 定义级别 -->
14         <Root level="info">
15             <!-- 输出日志的目的地 -->
16             <AppenderRef ref="Console" />
17         </Root>
18     </Loggers>
19 </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、运行代码

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

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

注:

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

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

更换级别后的打印结果:

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

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

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

原文地址:https://www.cnblogs.com/luohuasheng/p/11307478.html