log4j2 pom(springmvc怎么配置log4j2)

2024-07-16 01:04:17 27

log4j2 pom(springmvc怎么配置log4j2)

本文目录

springmvc怎么配置log4j2

增加pom配置,让maven加载log4j包《!-- log4j --》 《dependency》 《groupId》org.slf4j《/groupId》 《artifactId》slf4j-log4j12《/artifactId》 《version》1.7.2《/version》 《/dependency》修改web.xml,把log4j加到项目中《!-- Log4j配置 --》 《context-param》 《param-name》log4jConfigLocation《/param-name》 《param-value》classpath:/log4j/log4j.xml《/param-value》 《/context-param》 《!-- 加载log4j配置文件 --》 《listener》 《listener-class》org.springframework.web.util.Log4jConfigListener《/listener-class》 《/listener》根据web.xml配置的路径,在src/main/resource目录下新建log4j/log4j.xml《?xml version="1.0" encoding="UTF-8" ?》 《!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"》 《log4j:configuration 《appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"》 《layout class="org.apache.log4j.PatternLayout"》 《param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss:SSS} %l %m%n" /》 《/layout》 《!--限制输出级别 --》 《filter class="org.apache.log4j.varia.LevelRangeFilter"》 《param name="LevelMax" value="ERROR" /》 《param name="LevelMin" value="DEBUG" /》 《/filter》 《/appender》 《root》 《priority value="debug" /》 《appender-ref ref="CONSOLE" /》 《/root》 《/log4j:configuration》经过上面的步骤后,log4j就配置好了,接下来是使用,在DemoController中使用,使用slf4j接口,代替log4j,这样假如以后不用log4j了,用logback等其它日志框架,只需修改配置文件,不需要修改java代码package com.my1.controller;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;@Controllerpublic class DemoController { private static Logger logger = LoggerFactory.getLogger(DemoController.class); @RequestMapping(value = "/toPage1.htm") public ModelAndView toPage1() { logger.debug("TEST"); return new ModelAndView("page1"); }}由于用了springmvc框架,日志配置好后,会输出很多spring日志,在log4j.xml中,增加一段配置,修改spring包的日志输出级别 《!-- 通过《category》《/category》的定义可以将各个包中的类日志输出到不同的日志文件中 --》 《category name="org.springframework"》 《priority value="error" /》 《appender-ref ref="CONSOLE" /》 《/category》log4j的自定义输出格式说明《!-- %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL --》 《!-- %r 输出自应用启动到输出该log信息耗费的毫秒数 --》 《!-- %c 输出所属的类目,通常就是所在类的全名 --》 《!-- %t 输出产生该日志事件的线程名 --》 《!-- %n 输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n” --》 《!-- %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 --》 《!-- %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10) --》log4j的输出方式说明《!-- Log4j提供的appender有以下几种: --》 《!-- org.apache.log4j.ConsoleAppender(控制台), --》 《!-- org.apache.log4j.FileAppender(文件), --》 《!-- org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件), --》 《!-- org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件), --》 《!-- org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方) --》

SpringBoot使用log4j2的POM依赖顺序要求

POM使用《exclusions》标签排除多个依赖包的同一个依赖时,需要注意pom依赖的顺序问题(当然也可以每个都进行排除)。

以下为SpringBoot相关的依赖:

运行后控制台结果如下:

当我调整了pom中Spring的依赖顺序后如下(其余保持完全不变):

再次启动应用时,控制台打印如下:

现象 :经过依赖分析,确实日志冲突了( spring-boot-starter-jdbc 、 spring-boot-starter-thymeleaf ) 疑问 :难道pom的依赖还有顺序的要求?

经过反复验证,发现当MAVEN使用《exclusions》标签时,需要在依赖的第一个包进行排除,如下:

pom.xml文件中的Scope标签

我们在Maven项目,pom.xml文件中经常会碰到scope这个标签,有些同学搞不清楚这个scope对依赖的jar包有什么用。 在回答这个问题之前,我先简单的阐述一下java程序运行的阶段: 源码 =》 编译 =》 测试 =》 运行 =》 打包 =》 部署 上述程序中同学们应该都可以看的懂,编写一个servlet 打印 hello world。 1.IDE在编译阶段按照pom.xml中的依赖关系会去查找log4j servlet的二方包,如果找不到就会出现错误 2.在测试某个函数会调用junit 二方包 3.运行阶段 4.打包的时候,pom.xml会告诉maven,哪些jar不需要打进去 所以它的pom.xml应该是这样的 总结:我们平常最大的scope疑问在provided 和 runtime之间。记住一个原则就行,如果容器有的jar,在项目pom.xml中就使用provided; 如果需要动态加载的jar就使用runtime 。默认scope是compile ***隐藏网址******隐藏网址******隐藏网址******隐藏网址***

log4j 漏洞 怎么查

最直观方式

1、使用pom分析插件,如IDEA上的Dependency Analyzer,打开pom文件后,切换到Dependency Analyzer标签,查看log4j-core的版本号;

2、查看lib下jar包的版本

以上方法需要每个项目都打开去验证,虽然直观,但是麻烦;于是想到用以下方法,先去服务器上排查,然后再根据结果,打开需要的项目进行修复。

服务器上排查

1、直接查看jar包或war包内的第三方库。

2、解压后的war项目目录或者lib单独打包放在项目外边的。

3、打包到项目中的三方引用包是class而不是jar包。

log4j2 pom(springmvc怎么配置log4j2)

本文编辑:admin

本文相关文章:


phpstorm配置xdebug(如何在xampp环境下配置phpstrom xdebug)

phpstorm配置xdebug(如何在xampp环境下配置phpstrom xdebug)

这篇文章给大家聊聊关于phpstorm配置xdebug,以及如何在xampp环境下配置phpstrom xdebug对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录如何在xampp环境下配置phpstrom xdebugphp

2024年9月10日 02:30

oracle11g 数据库创建失败(oracle 11g_r2 创建数据库时 Enterprise Manager 配置失败)

oracle11g 数据库创建失败(oracle 11g_r2 创建数据库时 Enterprise Manager 配置失败)

“oracle11g 数据库创建失败”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看oracle11g 数据库创建失败(oracle 11g_r2 创建数据库时 Enterprise Manager 配置失败)!本文目录or

2024年9月6日 19:50

centos7网卡配置(centos 7虚拟机怎么配置网卡eno 16)

centos7网卡配置(centos 7虚拟机怎么配置网卡eno 16)

“centos7网卡配置”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看centos7网卡配置(centos 7虚拟机怎么配置网卡eno 16)!本文目录centos 7虚拟机怎么配置网卡eno 16CentOS7网卡配置c

2024年8月31日 12:35

idea运行struts(IDEA配置Status2)

idea运行struts(IDEA配置Status2)

“idea运行struts”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看idea运行struts(IDEA配置Status2)!本文目录IDEA配置Status2IDEA的Struts2配置总是失败intellij ide

2024年8月29日 20:55

xorg配置(linux服务器xorg配置在哪)

xorg配置(linux服务器xorg配置在哪)

各位老铁们好,相信很多人对xorg配置都不是特别的了解,因此呢,今天就来为大家分享下关于xorg配置以及linux服务器xorg配置在哪的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录linux服务器xorg配置

2024年8月28日 22:25

jpa怎么使用(使用JPA的不同实现的配置)

jpa怎么使用(使用JPA的不同实现的配置)

各位老铁们好,相信很多人对jpa怎么使用都不是特别的了解,因此呢,今天就来为大家分享下关于jpa怎么使用以及使用JPA的不同实现的配置的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录使用JPA的不同实现的配置jp

2024年8月27日 08:00

xml常用标签(web.xml文件主要配置有哪些,都有什么含义)

xml常用标签(web.xml文件主要配置有哪些,都有什么含义)

各位老铁们好,相信很多人对xml常用标签都不是特别的了解,因此呢,今天就来为大家分享下关于xml常用标签以及web.xml文件主要配置有哪些,都有什么含义的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录web.x

2024年8月26日 11:20

feignclient(Feign Client超时时间配置以及单独给某接口设置超时时间方法记录)

feignclient(Feign Client超时时间配置以及单独给某接口设置超时时间方法记录)

大家好,如果您还对feignclient不太了解,没有关系,今天就由本站为大家分享feignclient的知识,包括Feign Client超时时间配置以及单独给某接口设置超时时间方法记录的问题都会给大家分析到,还望可以解决大家的问题,下面

2024年8月20日 09:55

hibernate二级缓存有什么用(如果不配置hibernate的二级缓存的话,是不是就体现不出hibernate的优越性)

hibernate二级缓存有什么用(如果不配置hibernate的二级缓存的话,是不是就体现不出hibernate的优越性)

大家好,如果您还对hibernate二级缓存有什么用不太了解,没有关系,今天就由本站为大家分享hibernate二级缓存有什么用的知识,包括如果不配置hibernate的二级缓存的话,是不是就体现不出hibernate的优越性的问题都会给大

2024年8月16日 14:55

vscode配置python(mac下VScode怎么配置编译Python)

vscode配置python(mac下VScode怎么配置编译Python)

“vscode配置python”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看vscode配置python(mac下VScode怎么配置编译Python)!本文目录mac下VScode怎么配置编译Python首先安装vsco

2024年8月11日 06:07

java获取项目中的文件(java文件怎么获取项目下的配置文件)

java获取项目中的文件(java文件怎么获取项目下的配置文件)

“java获取项目中的文件”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看java获取项目中的文件(java文件怎么获取项目下的配置文件)!本文目录java文件怎么获取项目下的配置文件如何使用java自动读取web项目中的e

2024年8月9日 18:30

centos java环境配置(如何在阿里云Centos7.0上配置java web环境)

centos java环境配置(如何在阿里云Centos7.0上配置java web环境)

大家好,今天小编来为大家解答以下的问题,关于centos java环境配置,如何在阿里云Centos7.0上配置java web环境这个很多人还不知道,现在让我们一起来看看吧!本文目录如何在阿里云Centos7.0上配置java web环境

2024年8月5日 22:10

超详细tomcat安装及配置教程(apache_tomcat_7.0.69怎样安装及配置)

超详细tomcat安装及配置教程(apache_tomcat_7.0.69怎样安装及配置)

各位老铁们好,相信很多人对超详细tomcat安装及配置教程都不是特别的了解,因此呢,今天就来为大家分享下关于超详细tomcat安装及配置教程以及apache_tomcat_7.0.69怎样安装及配置的问题知识,还望可以帮助大家,解决大家的一

2024年8月5日 04:15

vmware开100个虚拟机(我电脑要开100个虚拟机电脑需要什么样的配置)

vmware开100个虚拟机(我电脑要开100个虚拟机电脑需要什么样的配置)

大家好,今天小编来为大家解答以下的问题,关于vmware开100个虚拟机,我电脑要开100个虚拟机电脑需要什么样的配置这个很多人还不知道,现在让我们一起来看看吧!本文目录我电脑要开100个虚拟机电脑需要什么样的配置请问vmware在硬件允许

2024年8月5日 03:25

web服务器的配置(ASP.NET开发宝典:配置Web服务器(IIS)虚拟站点)

web服务器的配置(ASP.NET开发宝典:配置Web服务器(IIS)虚拟站点)

其实web服务器的配置的问题并不复杂,但是又很多的朋友都不太了解ASP.NET开发宝典:配置Web服务器(IIS)虚拟站点,因此呢,今天小编就来为大家分享web服务器的配置的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2024年8月4日 12:35

apache一键安装(怎样在windows下配置apache vhost)

apache一键安装(怎样在windows下配置apache vhost)

各位老铁们,大家好,今天由我来为大家分享apache一键安装,以及怎样在windows下配置apache vhost的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们

2024年8月3日 20:50

qt creator怎么配置vs2013编译器?跪求啊!STM32编译开发板串口例程,总是出现错误

qt creator怎么配置vs2013编译器?跪求啊!STM32编译开发板串口例程,总是出现错误

各位老铁们好,相信很多人对编译器例程都不是特别的了解,因此呢,今天就来为大家分享下关于编译器例程以及qt creator怎么配置vs2013编译器的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录qt creato

2024年8月3日 20:26

cmakelist语法(怎样编写Cmake的配置文件Cmakelist.txt)

cmakelist语法(怎样编写Cmake的配置文件Cmakelist.txt)

大家好,如果您还对cmakelist语法不太了解,没有关系,今天就由本站为大家分享cmakelist语法的知识,包括怎样编写Cmake的配置文件Cmakelist.txt的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文

2024年8月2日 15:46

pycharm使用教程unittest(一、unittest通过main()方法运行的配置)

pycharm使用教程unittest(一、unittest通过main()方法运行的配置)

其实pycharm使用教程unittest的问题并不复杂,但是又很多的朋友都不太了解一、unittest通过main()方法运行的配置,因此呢,今天小编就来为大家分享pycharm使用教程unittest的一些知识,希望可以帮助到大家,下面

2024年7月27日 23:55

console线驱动(笔记本没有console口想连线配置交换机和路由怎么办)

console线驱动(笔记本没有console口想连线配置交换机和路由怎么办)

“console线驱动”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看console线驱动(笔记本没有console口想连线配置交换机和路由怎么办)!本文目录笔记本没有console口想连线配置交换机和路由怎么办交换机con

2024年7月27日 20:25

更多文章:


decades是什么意思(In recent decades是什么意思)

decades是什么意思(In recent decades是什么意思)

本文目录In recent decades是什么意思Over the passed 3 decades什么意思decades是什么意思for decades什么意思如下句子怎么翻译请问decades在这句中的意思是three-decades

2024年7月3日 06:03

微服务架构和微信小程序的区别(微信小程序和订阅号,服务号有什么区别)

微服务架构和微信小程序的区别(微信小程序和订阅号,服务号有什么区别)

本文目录微信小程序和订阅号,服务号有什么区别微信小程序和订阅号、服务号有什么区别微信公众号和微信小程序有什么区别微信公众号开发和小程序开发有啥区别微信小程序和订阅号,服务号有什么区别微信小程序和订阅号,服务号的区别如下:1、公众平台订阅号,

2024年7月21日 03:27

复合赋值运算符的运算顺序(c语言基础:复合赋值运算符)

复合赋值运算符的运算顺序(c语言基础:复合赋值运算符)

大家好,关于复合赋值运算符的运算顺序很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于c语言基础:复合赋值运算符的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本

2024年7月16日 13:26

c socket send(c++ socket变成 客户端第二个send 服务端没反应)

c socket send(c++ socket变成 客户端第二个send 服务端没反应)

本文目录c++ socket变成 客户端第二个send 服务端没反应c++socket send 能直接发送int类型吗C 语言socket 的send数据太大,最大能发送多少如何分批发送CSocket类的Send()函数问题:连续发送多次

2024年7月1日 01:14

protective怎么读(protective是什么意思)

protective怎么读(protective是什么意思)

本文目录protective是什么意思protective是什么意思protective保护双语对照词典结果:protective[英][prəˈtektɪv][美][prəˈtɛktɪv]adj.保护的,防护的; 保护贸易的; 以上结果来

2024年6月18日 13:58

keys什么意思(KEYS=Keep Empowering Yourself Successfully.是什么意思)

keys什么意思(KEYS=Keep Empowering Yourself Successfully.是什么意思)

本文目录KEYS=Keep Empowering Yourself Successfully.是什么意思key的复数亚马逊开keys是什么意思wherearethekeys是什么意思keys的翻译是:什么意思KEYS=Keep Empowe

2023年5月29日 02:40

简述mvc架构的流程(spring mvc 的工作流程是什么)

简述mvc架构的流程(spring mvc 的工作流程是什么)

本文目录spring mvc 的工作流程是什么简述MVC的处理流程springmvc请求处理的流程有哪些SpringMVC流程是什么springmvc工作流程是springmvc工作流程什么是MVC设计模式,如何使用MVC项目架构为mvc三

2024年7月17日 19:11

switch是循环语句吗(在switch结构体内也可以使用continue这句话对么)

switch是循环语句吗(在switch结构体内也可以使用continue这句话对么)

本文目录在switch结构体内也可以使用continue这句话对么c++中for循环和switch语句哪个更高效请问for循环中的switch语句中case后用break还是continue区别是什么有关switch语句中的几个问题当循环次

2024年7月21日 02:46

health是什么意思英语(health怎么读英语)

health是什么意思英语(health怎么读英语)

本文目录health怎么读英语健康的英语怎么读健康的英语名词形式是什么health是什么词health怎么读health的形容词是什么英语单词“health”与“healthy”的区别health怎么读英语helθ发音。健康状况/状态的英

2023年6月2日 17:00

上海java架构师培训哪家好?现在Java进阶培训量产java架构师是否是件好事

上海java架构师培训哪家好?现在Java进阶培训量产java架构师是否是件好事

本文目录上海java架构师培训哪家好现在Java进阶培训量产java架构师是否是件好事java系统架构师培训班有吗为什么感觉架构师工资很高却不怎么忙的样子培训JAVA,然后努力学能成为架构师吗java架构师培训多久能学会Java架构师跟着培

2024年5月7日 21:43

js的map方法的使用(JS新增对象Map、Set)

js的map方法的使用(JS新增对象Map、Set)

本文目录JS新增对象Map、Setjs什么时候用map什么JS新增对象Map、SetMap映射是ES6里面新增的一个对象,是一组键值对的结构,具有极快的查找速度。 Map是类似Object的一种键值对集合,区别在于Map的键不仅限于是字

2024年7月19日 17:27

安卓编码转换工具(最好的视频编码转换(视频压缩)软件有哪些)

安卓编码转换工具(最好的视频编码转换(视频压缩)软件有哪些)

本文目录最好的视频编码转换(视频压缩)软件有哪些手机有没有amv格式转换器android string如何把其他编码变为utf-8编码在android中怎样把utf-16的字符转换为GBK字符用printf输出最好的视频编码转换(视频压缩)

2024年5月17日 22:42

please英语(please英语怎么读)

please英语(please英语怎么读)

本文目录please英语怎么读please是什么意思英语please怎么读音是什么意思please英语怎么说please读音英语“please”的读音是什么翻译成中文是什么意思Please英文什么意思please是什么意思 请解释pleas

2024年6月12日 08:29

be trapped in什么意思(be trapped in是什么意思)

be trapped in什么意思(be trapped in是什么意思)

这篇文章给大家聊聊关于be trapped in什么意思,以及be trapped in是什么意思对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录be trapped in是什么意思trapped怎么读英语每到月末,他就陷入经

2024年9月7日 07:10

手机弹出浮动广告(如何关闭晃动手机时出现的广告页面)

手机弹出浮动广告(如何关闭晃动手机时出现的广告页面)

本文目录如何关闭晃动手机时出现的广告页面手机打开就有广告跳出来怎么解决为什么手机总是弹出广告页面,该怎么解决啊手机弹出广告怎么弄手机老是弹出广告怎么关闭手机老是弹广告出来怎么办手机网页上出现广告怎么办为什么手机会突然跳广告手机总是弹出广告是

2024年6月26日 14:35

变量泵工作原理图解(定量泵和变量泵的工作原理)

变量泵工作原理图解(定量泵和变量泵的工作原理)

本文目录定量泵和变量泵的工作原理变量柱塞泵的工作原理轴向柱塞泵是如何实现双向变量泵功能的变量叶片泵的工作原理恒压变量泵的工作原理是什么压力补偿变量轴向柱塞泵工作原理及图解变量液压泵原理1、画出Rexroth+A11VO-DR系列变量泵的变量

2024年7月24日 14:03

div padding(div中间距用padding好还是margin好)

div padding(div中间距用padding好还是margin好)

各位老铁们好,相信很多人对div padding都不是特别的了解,因此呢,今天就来为大家分享下关于div padding以及div中间距用padding好还是margin好的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2024年7月31日 04:35

disabled电脑启动项(联想电脑怎么设置U盘启动)

disabled电脑启动项(联想电脑怎么设置U盘启动)

本篇文章给大家谈谈disabled电脑启动项,以及联想电脑怎么设置U盘启动对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录联想电脑怎么设置U

2024年7月19日 23:35

thinkphp代码加密(thinkphp 怎么生成秘钥)

thinkphp代码加密(thinkphp 怎么生成秘钥)

“thinkphp代码加密”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看thinkphp代码加密(thinkphp 怎么生成秘钥)!本文目录thinkphp 怎么生成秘钥thinkphp这个逻辑是如何执行加密了 是先执行m

2024年7月24日 23:05

开机出现grub(电脑一开机就显示grub怎么解决)

开机出现grub(电脑一开机就显示grub怎么解决)

本文目录电脑一开机就显示grub怎么解决华硕笔记本开机出现GRUB ,除了用u盘还有什么办法修复HP电脑开机出现grub怎么办win7开机出现grub怎么办电脑一开机就显示grub怎么解决电脑开机出现grub  其实就是电脑开机缺失个引导文

2024年7月4日 13:45

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1730
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1156
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1152
标签列表

热门搜索