一、创建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基础开始。
欢迎关注,转载请注明来源。