发布网友 发布时间:2022-03-26 21:45
共1个回答
热心网友 时间:2022-03-26 23:14
1、是因为“slf4j-api-1.6.2.jar”和“slf4j-jdk14-1.5.6.jar”的不兼容问题,将“slf4j-jdk14-1.5.6.jar”删除,下一个“slf4j-jdk14-1.6.2.jar”放在lib目录下,问题就解决了。
2、“slf4j”就是众多接口的集合,它不负责具体的日志实现,只在编译时负责寻找合适的日志系统进行绑定。具体有哪些接口,全部都定义在“slf4j-api”中。“slf4j-log4j12”是链接“slf4j-api”和“log4j”中间的适配器。实现了“slf4japiz”中“StaticLoggerBinder”接口,从而使得在编译时绑定的是“slf4j-log4j12”的“getSingleton()”,“log4j”是具体的日志系统。通过“slf4j-log4j12”初始化“Log4j”,达到最终日志的输出。
3、lombok:一个插件,封装了“log”的“get”和“set”,可以直接使用“log”来输出日志信息。
4、实际上,“SLF4J”所提供的核心“AP”I是一些接口以及一个“LoggerFactory”的工厂类。从某种程度上,“SLF4J”有点类似“JDBC”,不过比“JDBC”简单,在“JDBC”中,你需要指定驱动程序,而在使用“SLF4J”的时候,不需要在代码中或配置文件中指定你打算使用那个具体的日志系统。如同使用“JDBC”基本不用考虑具体数据库一样,“SLF4J”提供了统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统。