LearnService是单例的话,那必然会OOM 实际开发时,很多人不假思索把LearnGo和LearnJava类加上 @Service,让它们成为Bean,也没有考虑到父类其实有状态: @Service @Slf4
SLF4 的使用 在开发的时候不应该直接使用日志实现类,应该使用日志的抽象层。具体参考 SLF4J 官方。...SLF4 同时 SLF4 官方给出了简单示例。...由于每一个日志的实现框架都有自己的配置文件,所以在使用 SLF4 之后,配置文件还是要使用实现日志框架的配置文件。 3....Spring Boot Maven 依赖 由此可见,Spring Boot 可以自动的适配日志框架,而且底层使用 SLF4 + LogBack 记录日志,如果我们自行引入其他框架,需要排除其日志框架。
SLF4 的使用 在开发的时候不应该直接使用日志实现类,应该使用日志的抽象层。具体参考 SLF4J 官方。...同时 SLF4 官方给出了简单示例。...由于每一个日志的实现框架都有自己的配置文件,所以在使用 SLF4 之后,配置文件还是要使用实现日志框架的配置文件。 3....mvn dependency:tree 由此可见,Spring Boot 可以自动的适配日志框架,而且底层使用 SLF4 + LogBack 记录日志,如果我们自行引入其他框架,需要排除其日志框架。
常用日志框架 log4j、log4j2(log4j的升级版,最常用的)、logback(spring boot默认)、Jboss-logging…等 slf4 是日志接口规范,代码对接slf4,实现和具体日志框架解耦
通过@WebFilter 注解来配置 @Component @WebFilter(urlPatterns = "/filter/*", filterName = "myTestFilter") @Slf4
日志组合框架图 框架解释 SLF4作为核心的API,通过适配各种日志实现的桥接包,接收所有的日志请求 logback作为具体的日志实现,处理SLF4J收集的所有日志 公共库的最佳实践 只使用SLF4J作为日志
Micrometer 是一个应用度量门面类库,类似SLF4。后面我会专门写一篇文章来介绍这个知识点。请关注我的微信公众号:Felordcn 以保证第一时间获取相关的知识。
创建示例类 UserService,演示 @Slf4 注解的使用。如下图所示: ?
Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制,常见的JDBC、SLF4门面就是通过这个实现的,下面是DUCC的运用 /** * 插件管理器 */
---- 正文 关于第三方日志,Java有个标准的日志门面:slf4,它似乎已经在现行的日志标准。
● 日志:使用Logback和SLF4。 ● 数据库:使用Hibernate集成ORM框架。
log.warn(msg + "warn"); log.error(msg + "error"); log.fatal(msg + "fatal"); } } 参考 slf4
依赖引入 可以先通过如下图来看下Log4j2与Slf4之间的适配需要引入哪些依赖包: 可以看到如果要使用Slf4j门面的话,需要引入一个Slf4j门面依赖包slf4j-api和一个与log4j2绑定slf4j
依赖引入可以先通过如下图来看下Log4j2与Slf4之间的适配需要引入哪些依赖包:图片可以看到如果要使用Slf4j门面的话,需要引入一个Slf4j门面依赖包slf4j-api和一个与log4j2绑定slf4j
领取专属 10元无门槛券
手把手带您无忧上云