类型不匹配:无法从org.slf4j.Logger转换为org.apache.log4j.Logger

时间:2015-08-24 18:40:04

标签: java eclipse maven logging log4j

我在eclipse Mars中配置我的环境,但是我遇到了log4j的错误。我使用spring 4和maven作为依赖管理器。他的一部分代码:

Eclipse在这一行显示错误,第二部分在等于:

之后
private static final Logger LOGGER = LoggerFactory.getLogger(PropertyConfiguration.class);

错误:

Type mismatch: cannot convert from org.slf4j.Logger to org.apache.log4j.Logger

我的propertyConfiguration进入com.myapp.bootstrap,xml文件进入src / main / resources。

我的log4j.xml文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <appender name="defaultAppender" class="org.apache.log4j.ConsoleAppender">
        <param name="encoding" value="UTF-8" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{ISO8601} %-5p [%t] %c{2}: %m%n" />
        </layout>
    </appender>

    <logger name="com.myapp" additivity="false">
        <level value="DEBUG" />
        <appender-ref ref="defaultAppender" />
    </logger>

    <root>
        <priority value="INFO" />
        <appender-ref ref="defaultAppender" />
    </root>

</log4j:configuration>

有人有什么想法吗?

感谢

2 个答案:

答案 0 :(得分:0)

对我来说,我的春季项目intellij之一是罪魁祸首,实际上是自动导入

import java.util.logging.Logger;

我必须手动通过以下方式更新导入

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

答案 1 :(得分:0)

我正在研究 Spring Boot IntelliJ,这修复了错误

import org.slf4j.Logger;
import static org.slf4j.LoggerFactory.*;