我正在为我的世界写一个插件,它使用Gradle将额外的代码添加到已经制作的框架(海绵)中。当我尝试使用来自Lombok的@Slf4j注释时,我能够使用的日志级别只有info和更高级别。根据我在另一篇文章上看到的评论,这表明它正在使用slf4j simple,这必须已经内置于我正在扩展的框架中。当我添加logger4j作为依赖项时,slf4j继续使用简单的slf4j而不是logger4j。我希望能够使用除了其他方法之外的logger.debug和logger.trace。我是不是没有正确配置某些东西?如何告诉slf4j使用logger4j而不是简单的slf4j?
发布于 2016-10-11 15:37:55
如果有多个slf4j实现。它将随机选取一个。因此,如果您希望使用log4j而不是简单的slf4,则可以从类路径中删除simple-slf4j.jar。
调制解调器细节:http://www.slf4j.org/codes.html#multiple_bindings
如果你想同时使用它们,你可以不使用slf4j直接使用log4j。例如:
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 ...");
}}
https://stackoverflow.com/questions/36371765
复制相似问题