【问题标题】:using slf4j with log4j将 slf4j 与 log4j 一起使用
【发布时间】:2015-01-03 00:27:35
【问题描述】:

我在使用 log4j 的 slf4j 时遇到问题。

我在开发环境中有一个 log4j.xml,它被设置为 DEBUG。

在我的 pom.xml 我有以下内容:

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
        </dependency>

当我运行我的代码并使用 Logger (SLF4J) 并检查是否启用了调试 - 我得到错误,如果无论如何我尝试 log.debug 我看不到结果。

但是,如果我在同一个班级中使用 Logger (apache log4j),一切都会按我的预期运行。

我阅读了很多关于 log4j 和 slf4j 的帖子,但我无法解决。

感谢您的帮助。

谢谢

【问题讨论】:

标签: log4j slf4j


【解决方案1】:

抱歉,我找到了提示并解决了问题。我添加将 pom 更改为:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
</dependency>

错误是我使用了 slf4j-simple 而不是 slf4j-log4j12。

谢谢

【讨论】:

  • 根据slf4j Manual声明日志的项目依赖 “如果你想使用log4j作为底层的日志框架,你需要做的就是声明”org. slf4j:slf4j-log4j12" 作为 pom.xml 文件中的依赖项,如下所示。除了 slf4j-log4j12-1.7.28.jar,这将拉取 slf4j-api-1.7.28.jar 和 log4j-1.2 .17.jar 到您的项目中。”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-25
  • 1970-01-01
  • 2011-05-17
  • 2015-11-28
  • 1970-01-01
相关资源
最近更新 更多