slf4j + log4j升级log4j2

  

首先在pom文件中加入以下依赖

  
 <代码> & lt; dependency>
  & lt; groupId> org.apache.logging.log4j
  & lt; artifactId> log4j-api
  & lt; version> 2.6.2
  & lt;/dependency>
  & lt; dependency>
  & lt; groupId> org.apache.logging.log4j
  & lt; artifactId> log4j-core
  & lt; version> 2.6.2
  & lt;/dependency>
  & lt; dependency>
  & lt; groupId> org.apache.logging.log4j
  & lt; artifactId> log4j-web
  & lt; version> 2.6.2
  & lt;/dependency>
  & lt; dependency>
  & lt; groupId> org.slf4j
  & lt; artifactId> slf4j-api
  & lt; version> 1.7.12
  & lt;/dependency>
  & lt; dependency>
  & lt; groupId> org.slf4j
  & lt; artifactId> jcl-over-slf4j
  & lt; version> 1.7.12
  & lt;/dependency>
  & lt; dependency>
  & lt; groupId> org.apache.logging.log4j
  & lt; artifactId> log4j-slf4j-impl
  & lt; version> 2.6.2
  & lt;/dependency>  
  

删除原来的slf4j依赖

  
 <代码> & lt; dependency>
  & lt; groupId> org.slf4j
  & lt; artifactId> slf4j-log4j12
  & lt; version> 1.7.7
  & lt;/dependency>  
  

重写log4j.xml配置文件

  
 <代码> & lt; ?xml version=" 1.0 " encoding=" utf - 8 " ?比;
  & lt;配置状态="警告" monitorInterval=" 60 "比;
  & lt; Appenders>
  & lt;控制台的名字==癝YSTEM_OUT”比“控制台”目标;& lt; !——定义类型为控制台的Appender——比;
  & lt; PatternLayout模式=? d (t %) % 5 p % c {1} % L - m % n %”/比;& lt; !——定义类型为模式的布局——比;
  & lt;/Console>
  & lt; RollingRandomAccessFile name=" rollingRandomAccessFileAppender immediateFlush=" true "文件名=" $ {logPath}/acc.log”
  filePattern=" $ {logPath}/acc.log。% d {yyyy-MM-dd-HH}“附加=" true "比;
  & lt; PatternLayout模式=? d (t %) % 5 p % c {1} % L - m % n %”/比;
  & lt; Policies>
  & lt; TimeBasedTriggeringPolicy间隔=?”调节=" true "/比;
  & lt;/Policies>
  & lt;/RollingRandomAccessFile>
  & lt;/Appenders>
  & lt; Loggers>
  & lt;根水平="信息"比;& lt; !——定义根记录器,其日志级别为信息——比;
  & lt; AppenderRef ref=翱刂铺ā?比;& lt; !——根记录器的Appender引用上面定义的控制台——比;
  & lt;/Root>
  & lt;记录器的名字==靶畔ⅰ薄癏elloWorld”水平相加性=癴alse”比;& lt; !——定义名字为HelloWorld的记录器,其日志级别为信息,添加为假——比;
  & lt; AppenderRef ref=翱刂铺ā?比;& lt; !——根记录器的Appender引用上面定义的控制台——比;
  & lt; AppenderRef ref=" rollingRandomAccessFileAppender "/比;
  & lt;/Logger>
  & lt;/Loggers>
  & lt;/Configuration>  
  

项目中原来的log4j是根据每个小时打印日志,因此用了RollingRandomAccessFile。

  <人力资源/>   

然后,<强>将log4j.xml重新命名为log4j2.xml,并且在web . xml中取消原来的背景配置!
由于上面这一点一开始没有做,只是在原来log4j.xml的基础上把内容修改了,所以打包到服务器上运行时,一直没有日志文件输出,因为pom文件中依赖的其他项目带有log4j相关的jar包,slf4j不知道该使用哪一个。

  

升级完毕。

slf4j + log4j升级log4j2