【问题标题】:Slf4j using simple slf4j instead of logger4jSlf4j 使用简单的 slf4j 而不是 logger4j
【发布时间】:2016-04-02 09:54:43
【问题描述】:

我正在为 Minecraft(我的世界)编写一个插件,它使用 Gradle 将附加代码添加到已经制作的框架(海绵)中。当我尝试使用 Lombok 的 @Slf4j 注释时,我能够使用的唯一日志级别是 info 及以上。根据我在另一篇文章中看到的评论,这表明它正在使用 slf4j simple,它必须已经内置到我正在扩展的框架中。当我添加 logger4j 作为依赖项时,slf4j 继续使用简单的 slf4j 而不是 logger4j。除了其他方法之外,我还希望能够使用 logger.debug 和 logger.trace。我只是没有正确配置某些东西吗?如何告诉 slf4j 使用 logger4j 而不是简单的 slf4j?

【问题讨论】:

    标签: java slf4j lombok


    【解决方案1】:

    如果 slf4j 有多个实现。它会随机抽取一个。所以如果你想使用 log4j 而不是 simple slf4,你可以从你的类路径中删除 simple-slf4j.jar。

    模式详情 :http://www.slf4j.org/codes.html#multiple_bindings

    而如果你想同时使用它们,你可以直接使用log4j而不用slf4j。例如:

    import org.apache.log4j.*;
    public class LogTest {
      static Logger logger = Logger.getLogger(LogTest.class.getName());
      public static void main(String[] args) {
         PropertyConfigurator.configure ("src/log4j.properties");
         logger.debug("Debug ...");
         logger.info("Info ...");
         logger.warn("Warn ...");
         logger.error("Error ...");
     }
    

    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-08
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      • 1970-01-01
      • 2015-08-15
      相关资源
      最近更新 更多