@slf4j注解为啥找不到log变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@slf4j注解为啥找不到log变量相关的知识,希望对你有一定的参考价值。
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”提供了统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统。
参考技术A 检查jar包是否存在冲突或jar版本是存在不兼容的问题,我的项目中是因为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目录下,问题解决。希望对你有帮助本回答被提问者采纳以上是关于@slf4j注解为啥找不到log变量的主要内容,如果未能解决你的问题,请参考以下文章
Intellij安装lombok插件,解决注解@Slf4j注入后找不到变量log
spring-cloud导入eclipse时,@slf4j注解为什么找不到log变量