Spring mvc集成log4j2 您所在的位置:网站首页 log4j2使用外部配置文件 Spring mvc集成log4j2

Spring mvc集成log4j2

2024-05-08 04:18| 来源: 网络整理| 查看: 265

前期环境

Spring mvc + Maven + Idea

一、下面开始配置log4j2,先简单演示其如何配置,再仔细了解log4j2用法。

1.1  配置pom.xml,引用log4j2相关包

org.apache.logging.log4j log4j-api 2.11.2 org.apache.logging.log4j log4j-core 2.11.2

如果不知道该引用哪些包,可以在log4j2官网查看其最新的Jar包  https://logging.apache.org/log4j/2.x/maven-artifacts.html

1.2  配置简单的log4j2.xml配置文件

在项目的classpath目录下新建log4j2.xml

1.3  在web.xml文件里引用log4j2.xml

log4jConfiguration classpath:log4j2.xml

如果项目中使用的是Servlet2.5以上版本,则不需要配置用于log4j2的监听,所以现在一般不需要在单独为log4j2配Listener

1.4  测试日志输出

从上图看出,成功输出日志,说明log4j2初步配置成功。

二、log4j2相关基础

2.1  分析上例

PatternLayout写法

%d{yyyy/MM/dd HH:mm:ss.SSS}      输出时间格式                       (对应上例    2019/04/11 20:35:10.650)

[%t]                             输出当前线程名称             (对应上例    [http-nio-8080-exec-6] )

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

%logger{36}    输出logger名称,因为Root Logger没有名称,所以没有输出,只输出了对应类 myProject.Controller.LoginController2

%msg                    输出日志文本 

%n                        换行

其他常用的占位符有:

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

%L 输出行号

%M 输出所在方法名

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

2.2  log4j2日志级别

TRACE < DEBUG < INFO < WARN < ERROR < FATAL,分别用来指定这条日志信息的重要程度,Log4j有一个规则:只输出级别不低于设定级别的日志信息,假设Loggers级别设定为INFO,则INFO、WARN、ERROR和FATAL级别的日志信息都会输出,而级别比INFO低的DEBUG和TRACE则不会输出。

下面还是用上例的配置测试其日志级别

由于配置文件中LoggerConfig定义的级别为WARN,即,所以正常只有WARN,ERROR和FATAL会打印,但验证结果多了个INFO,是因为在Logger中引用了控制台的Appender,并单独指定了级别为INFO,即,说实话不是很懂,所以开始了解log4j2的标签。

2.3  log4j2常用标签

   log4j2.xml的根标签   status 设置的是log4j2自身内部的信息输出级别,输出到控制台

    这个标签包含多个子标签,用于指定日志输出的位置及格式。待续  

下面来看一个复杂点的配置文件,将不同级别的日志输出到不同的日志文件中,该配置参考博客

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有