Spring:“SimpleLogger似乎不是位置感知”异常

时间:2010-09-11 10:03:37

标签: spring log4j slf4j

我在第一行代码的Spring应用程序中遇到异常:

ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");

我将commons-logging-1.1.1.jar配置为项目库。

这是堆栈跟踪:

java.lang.UnsupportedOperationException:logger [org.slf4j.impl.SimpleLogger(org.springframework.context.support.ClassPathXmlApplicationContext)]似乎不知道位置。

at org.apache.log4j.Category.log(Category.java:347)  在org.apache.commons.logging.impl.Log4JLogger.info(Log4JLogger.java:199)  在org.springframework.context.support.AbstractApplicationContext.prepareRefresh(AbstractApplicationContext.java:456)  at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:394)  在org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:139)  在org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:83)

1 个答案:

答案 0 :(得分:0)

看起来您正在同时使用多个日志记录框架。此错误似乎是SLF4J和Log4J配置之间发生冲突的症状。

看一下这篇文章:
http://www.qos.ch/pipermail/slf4j-user/2010-February/000892.html
哪个州,

  

代码日志(String FQCN,Priority p,   对象消息,Throwable t)方法抛出   一个例外,因为调用者   期待位置感知日志,但是   实际的记录器实现不是   能够提供“位置   意识”。

如果没有更多信息,我最好的猜测是你有一个像slf4j-nop-1.6.1.jar这样的slf4j jar的引用,或者通过指向Logger类的非操作实现来关闭日志的其他东西。 / p>

查找罪魁祸首并将其删除(或将其替换为slf4j-log4j版本)。

你在使用Maven吗?

如果是这样,请打开pom文件的依赖关系图,并在其名称中搜索 slf4j 的所有依赖关系。删除看起来像NOOP jar的那个。

相关问题