Log日志死循环
来源:互联网 发布:告白气球 知乎 编辑:程序博客网 时间:2024/06/08 07:55
这里笔者将要重现Log日志死循环,使用log4j和slf4j来说明。
报错的信息如下
在pom.xml中引入如下依赖
<dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>log4j-over-slf4j</artifactId> <version>1.7.21</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.16</version> </dependency>
最终引入的jar包有
log4j的配置文件内容
log4j.rootLogger=DEBUG, console# consolelog4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender.console.Target=System.outlog4j.appender.console.layout=org.apache.log4j.PatternLayoutlog4j.appender.console.layout.ConversionPattern= %d - %-5p %c %x - %m%n
写一个日志的测试类
package org.hl.logapitest;import org.apache.log4j.Logger;public class LogTest { private static final Logger logger = Logger.getLogger(LogTest.class); public static void main(String[] args) { logger.warn("故意使用而引起死循环"); }}
SLF4J: Detected both log4j-over-slf4j.jar AND bound slf4j-log4j12.jar on the class path, preempting StackOverflowError.
当同时引用了这两个依赖的时候,会出现这样的错误。
究其本质的原因是: log4j将日志扔给slf4j --> slf4j又将日志扔回去给log4j,所以循环于此,所以会报错
0 0
- Log日志死循环
- 死循环
- 死循环
- 死循环
- 死循环
- 死循环
- 死循环
- 死循环
- 死循环
- 死循环
- 死循环
- 死循环????
- Log日志
- Log日志
- log日志
- log 日志
- Log日志
- log日志
- 安卓adb的命令行功能汇总
- js闭包和应用
- jvm(四)自定义类加载器
- 报错_意外地调用了方法或属性访问
- Comparable与Comparator的区别
- Log日志死循环
- 链表的回文结构练习
- c++中string类的详解
- CodeForces 613D Kingdom and its Cities 虚树的简单应用
- 三维重建: 点云三角化(二流型的)要点 很详细
- EL表达式获取页面属性值
- Java成长记 反射
- 拼音汉字映射表
- LeetCode 476. Number Complement