一、创建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基础开始。

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

最新文章

  1. Windows 双网卡指定网络出口
  2. redmine安装部署
  3. 三种DSO(标准DSO、写优化DSO、直接更新DSO)、标准DSO覆盖合计规则
  4. 三种配置linux环境变量的方法(以java为例)
  5. Ubuntu 14.04安装配置NFS服务器
  6. 【转】使用NDK生成native C/C++的可执行程序
  7. C#程序部署到Android
  8. [置顶] 自己写代码生成器之生成Dal层代码(获取数据库所有表名称)
  9. Shell脚本调试技术
  10. nginx location配置(URL)
  11. 算法模板——LCA(最近公共祖先)
  12. Elasticsearch重要配置
  13. git分支管理之分支管理策略
  14. 201521123011 《java程序设计》 第7周学习总结
  15. dnslog搭建
  16. Python爬虫入门教程 31-100 36氪(36kr)数据抓取 scrapy
  17. Scientific Toolworks Understand
  18. LeetCode手记-Add Binary
  19. HDU 1162 Eddy&#39;s picture (最小生成树 prim)
  20. SpringBoot2.0之整合Apollo

热门文章

  1. Linux命令学习-wget命令
  2. 前端从零开始学习Graphql
  3. 哈工大计算机网络Week3-传输层
  4. springboot+redis实现session共享
  5. mybatis基础配置
  6. Jmeter自定义Java请求开发
  7. HDU - 1232 畅通工程【并查集】
  8. ListView在ScrollView中不显示全部的问题
  9. Excel催化剂开源第31波-pdf相关功能实现及类库介绍
  10. [PTA] 数据结构与算法题目集 6-8 求二叉树高度 &amp; 6-9 二叉树的遍历