首先在pom文件中加入以下依赖
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.6.2</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.6.2</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-web</artifactId> <version>2.6.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.12</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.7.12</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>2.6.2</version> </dependency>
删除原来的slf4j依赖
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.7</version> </dependency>
重写log4j.xml配置文件
<?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN" monitorInterval="60"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <!-- 定义类型为Console的Appender --> <PatternLayout pattern="%d [%t] %-5p %c{1} [%L] - %m%n"/> <!-- 定义类型为Pattern的Layout --> </Console> <RollingRandomAccessFile name="rollingRandomAccessFileAppender" immediateFlush="true" fileName="${logPath}/acc.log" filePattern="${logPath}/acc.log.%d{yyyy-MM-dd-HH}" append="true"> <PatternLayout pattern="%d [%t] %-5p %c{1} [%L] - %m%n" /> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> </Policies> </RollingRandomAccessFile> </Appenders> <Loggers> <Root level="info"> <!-- 定义Root Logger,其日志级别为info --> <AppenderRef ref="Console"/> <!-- Root Logger的Appender引用上面定义的Console --> </Root> <Logger name="HelloWorld" level="info" additivity="false"> <!-- 定义名字为HelloWorld的Logger,其日志级别为info,additivity为false --> <AppenderRef ref="Console"/> <!-- Root Logger的Appender引用上面定义的Console --> <AppenderRef ref="rollingRandomAccessFileAppender"/> </Logger> </Loggers> </Configuration>
项目中原来的log4j是根据每个小时打印日志,因此用了RollingRandomAccessFile。
然后,将log4j.xml重新命名为log4j2.xml,并且在web.xml中取消原来的context配置!
由于上面这一点一开始没有做,只是在原来log4j.xml的基础上把内容修改了,所以打包到服务器上运行时,一直没有日志文件输出,因为pom文件中依赖的其他项目带有log4j相关的jar包,slf4j不知道该使用哪一个。
升级完毕。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。