• Log4j 2概述
  • 为什么要使用Log4j 2
  • Spring中配置Log4j 2
    • 添加Maven依赖
    • 配置webxml
    • 配置Log4j 2
    • 使用Log4j 2

Log4j 2概述

请查看另外一篇博文Log4j2-Log4j 2介绍及使用


为什么要使用Log4j 2

Web容器中的监听 Log4jConfigListener在 Spring 4.2.1及以后被废弃。


Spring中配置Log4j 2

添加Maven依赖

<dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>${log4j2.version}</version>
</dependency>
<dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>${log4j2.version}</version>
</dependency>
<!-- web容器中需要添加log4j-web -->
<dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-web</artifactId><version>${log4j2.version}</version>
</dependency><properties><log4j2.version>2.8.2</log4j2.version>
</properties>

Web Applications 使用 Log4j 2 需要另外引用log4j-web

https://logging.apache.org/log4j/2.x/manual/webapp.html


配置web.xml

 <!-- log4j2-begin --><!-- 默认在class类路径下,不需要额外配置引用 ,如果更改到其他地方,请配置 -->
<context-param>  <param-name>log4jConfiguration</param-name>  <param-value>classpath:log4j2.xml</param-value>
</context-param>  <listener><listenerclass>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class>
</listener>
<!-- log4j2-end -->

配置Log4j 2

具体查看 配置Log4j 2

我们这里以xml的方式编写Log4j 2的配置文件

举例,具体请根据实际需要修改

<?xml version="1.0" encoding="UTF-8"?>
<!-- log4j2使用说明:
使用方式如下:
private static final Logger logger = LogManager.getLogger(实际类名.class.getName());--><!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出-->
<!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数-->
<configuration status="info" monitorInterval="180"><!-- 文件路径和文件名称,方便后面引用 --><Properties><Property name="backupFilePatch">D:/workspace/workspace-sts/backupOracle/log/</Property><Property name="fileName">backupOracle.log</Property></Properties><!--先定义所有的appender--><appenders><!--这个输出控制台的配置--><Console name="Console" target="SYSTEM_OUT"><!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)--><ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY" /><!-- 输出日志的格式--><PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" /></Console><!--这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档--><RollingFile name="RollingFile" fileName="${backupFilePatch}${fileName}"filePattern="${backupFilePatch}$${date:yyyy-MM}/app-%d{yyyyMMddHHmmssSSS}.log.gz"><PatternLayout
                pattern="%d{yyyy.MM.dd 'at' HH:mm:ss.SSS z} %-5level %class{36} %L %M - %msg%xEx%n" /><!-- 日志文件大小 --><SizeBasedTriggeringPolicy size="20MB" /><!-- 最多保留文件数 DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件,这里设置了20 --><DefaultRolloverStrategy max="20"/></RollingFile></appenders><!--然后定义logger,只有定义了logger并引入的appender,appender才会生效--><loggers><!--过滤掉spring和mybatis的一些无用的DEBUG信息--><logger name="org.springframework" level="INFO"></logger><logger name="org.mybatis" level="INFO"></logger><root level="trace">  <appender-ref ref="RollingFile"/>  <appender-ref ref="Console"/>  </root>  </loggers>
</configuration>

使用Log4j 2

具体查看另外一篇博文 Log4j2-Log4j 2介绍及使用

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;...private static final Logger logger = LogManager.getLogger(XXX.class.getName());

启动web项目可以看到如下信息


Spring-Spring Web项目中配置使用Log4j 2相关推荐

  1. 重新学习Spring一--Spring在web项目中的启动过程

    1 Spring 在web项目中的启动过程 Spring简介 Spring 最简单的功能就是创建对象和管理这些对象间的依赖关系,实现高内聚.低耦合.(高内聚:相关性很强的代码组成,既单一责任原则:低耦 ...

  2. 详解log4j2(下) - Log4j2在WEB项目中配置

    官方介绍和学习文档网址为http://logging.apache.org/log4j/2.x/ 首先在WEB项目中引入以下几个jar包: ① log4j-api-2.4.1.jar ② log4j- ...

  3. 不使用框架的web项目中配置log4j

    在不使用框架的时候,一般使用监听器或者Servlet来初始化log4j进行启动,这里我使用Servlet,代码入下: import java.io.File; import java.io.IOExc ...

  4. 在maven web项目中配置log4j打印日志及Mybatis sql语句

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/wei542657623/article/details/51591736 1 添加依赖 在pom.x ...

  5. day63-webservice 08.在web项目中配置带有接口的webservice服务

    这个是配置带有接口的WebService的服务. http://localhost:8080/cxf-web-server/service 带有接口的实现类也给它做好了.jaxws:endpoint是 ...

  6. maven mybatis mysql_Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问...

    标签: 本篇内容还是建立在上一篇Java Web学习系列--Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Ja ...

  7. struts2+spring 项目中配置tiles的解决方案

    Tiles是一种layout的概念,可以将一个页面拆分成多个部分.比如:title,header,body,bottom等等.在一个项目中,这些部分有可能是相同的.这时使用Tiles配置相同的部分再好 ...

  8. SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例

     要搭建的项目的项目结构如下(使用的框架为:Spring.SpingMVC.MyBatis): 2.pom.xml中的配置如下(注意,本工程分为几个小的子工程,另外两个工程最终是jar包): 其中 ...

  9. Spring在web开发中的应用

    (1)在 web 项目中要使用 spring 需要导入一个 jar 包: spring-web-4.2.4.jar包 (2)在 web.xml 文件中配置 Listener <listener& ...

最新文章

  1. 感受lambda之美,推荐收藏,需要时查阅
  2. 深度睡眠中,记忆如何被保持?
  3. python画图代码turtle-使用Python的turtle模块画图的方法
  4. A-Frame.js 学习文档翻译(一)实体
  5. redis php 持久化,详解Redis RDB持久化、AOF持久化,
  6. 把数字翻译成字符串python_46 把数字翻译成字符串
  7. dockerfile安装yum_Docker镜像-基于DockerFile制作yum版nginx镜像
  8. 特征值和特征向量到底描述了什么
  9. python数据分析框架
  10. 自定义SharePoint Webservice
  11. jquery插件(转)
  12. 绝对定位实现漂浮工具条停靠在内容旁边
  13. Week of year bug in Ax3
  14. 在韩家炜老师的实验室和家里作客 — 旅美散记之二
  15. 计网实验三 虚拟局域网 VLAN
  16. Windows 10 office开机自启白页关闭,只需三步轻松关闭(亲测可用)
  17. Linux启动阶段Grub损坏修复
  18. Unity报错:InvalidOperationException:You are tring to read lnput using the UnityEngine. ……的解决办法
  19. request.setAttribute()的用法
  20. Worse is Better

热门文章

  1. 浅悟劳动法之肯德基劳务派遣案
  2. Source Insight 4.0的 序列号 license文件
  3. 相同字符串,但是equals为false?我多年的java白学了吗?
  4. [opencv] 伪彩色和彩虹图
  5. 和快手抖音类似的短视频直播APP,仿v聊富聊花间一对一直播收费APP
  6. 售前工程师的成长---一个老员工的经验之谈
  7. mysql创建主键约束_mysql建表键约束(主键约束,自增约束)
  8. 微信注册验证成功之后不跳转_2分钟快速注册公众号,零基础小白也能轻松学会...
  9. 进程控制——进程等待,程序替换
  10. 超级终端测试通过的 ymodem 协议