我正在为Minecraft编写一个插件,它使用Gradle为已经制作的框架(Sponge)添加额外的代码。当我尝试使用来自Lombok的@ Slf4j注释时,我能够使用的唯一级别的日志记录是info及以上。基于我在另一篇文章中看到的评论,这表明它正在使用slf4j simple,它必须已经构建到我正在扩展的框架中。当我将logger4j作为依赖项添加时,slf4j继续使用简单的slf4j而不是logger4j。除了其他方法之外,我希望能够使用logger.debug和logger.trace。我只是没有正确配置?我怎么告诉slf4j使用logger4j而不是简单的slf4j?
答案 0 :(得分:0)
如果有多个slf4j的实现。它会随机拿起一个。因此,如果您想使用log4j而不是简单的slf4,可以从类路径中删除simple-slf4j.jar。
modre detaile: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 ...");
}
}