SLF4J是Simple Logging Facade for Java 的简称,即java简单日志外观,说白了就是一些通用日志功能的API。它是新一代的通用日志框架,现在好多的开源项目的新版本都开始使用该通用日志框架
SLF4J和commons-logging一样都是为日志功能提供简单统一的接口,可以方便系统更换日志实现。
SLF4J解决了Commons-logging中存在的一些问题,具体细节大家可以百度。它将会成为代替commons-logging的新一代通用日志框架。
下面将具体介绍SLF4J的原理和使用
SLF4J的核心包slf4j-api.jar中只包含了日志功能的API,即各种接口,它和commons-logging不一样,简单日志实现没有放在核心包内,而是作为一个具体实现放在一个单独的jar包中:slf4j-simple.jar。slf4j-api.jar包不能单独使用(commons-logging.jar可以单独使用,因为它自己的简单实现就放在此包内),必须配合具体日志的适配器和具体日志实现包一块使用。
SLF4J的使用原理(以log4j为具体实现例子)
Slf4j-api------slf4j-log4j适配器-------log4j具体实现
在SLF4J官方发布包中,除了slf4j-api.jar包外,还有许多与具体日志实现相对应的适配器包,如下图所示
从上面可以看出:slf4j-api和具体日志的绑定是通过像slf4j-log4j.jar这样适配器包实现的
SLF4J +Log4j DEMON
项目目录结构
测试类
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogTest {
public static void main(String[] args) {
Logger logger=LoggerFactory.getLogger(LogTest.class);
logger.warn("----log4j实现------");
}
}
从上述代码中可以看出只用到slf4j的API,看不到具体实现的痕迹
运行效果
SLF4J将会成为代替commons-logging的新一代通用日志框架,大家很有必要学习一下。
分享到:
相关推荐
日历客户端 dioCalendar 项目的客户端... 研究日志框架(log4j、slf4j、logback)+Maven和通用接口。 包含从 log4j -> log4j 和 log4j -> slf4j -> logback 方案进行日志记录的 SimpleLogging 和 NewLogging 两个模块。
struts2 相关包-------------------------------------------------- xwork-2.0.5.jar webwork的核心库 ognl-2.6.11.jar OGNL...slf4j-log4j12-1.5.0.jar slf4j log4j支持包 log4j-1.2.15.jar slf4j-api-1.5.0.jar
JAVA通用快速开发框架源码 通用快速开发框架是一套轻量级的权限系统,主要包括用户管理、角色管理、部门管理、菜单管理、...· 日志管理:SLF4J 1.7、Log4j · 单元测试:JUnit 4.12 · API接口文档:Swagger 2.7
JAVA通用快速开发框架源码 注意:不带技术支持,有帮助文件,虚拟商品...· 日志管理:SLF4J 1.7、Log4j · 单元测试:JUnit 4.12 · API接口文档:Swagger 2.7.0 · 页面交互:Vue 2.x + Bootstrap+ HTML5 + CSS3
日志 不使用通用日志 使用SLF4J 使用Log4j 二世。 什么是新的在春季3 2。 新特性和增强功能在Spring框架3.0 2.1。 Java 5 2.2。 改进文档 2.3。 新的文章和教程 2.4。 新模块的组织和构建系统 2.5。 概述的新特性 2...
该库为Android应用程序提供了高度可配置的日志记录框架,同时支持多个日志目标... 在app/build.gradle ,添加以下依赖项: dependencies { compile ' org.slf4j:slf4j-api:1.7.25 ' compile ' com.github.tony19:logb
间接依赖仅有commons-lang, slf4j等7个通用库,作为一个ORM框架,对第三方依赖极小。简单直接的API 框架的API设计直接面向数据库操作,不绕弯子,开发者只需要数据库基本知识,不必学习大量新的操作概念即可使用API...
Java EE 和 Jakarta EE 版本...1.3.x 和 1.4.x 系列都需要 SLF4J 2.0.x 或更高版本。 1.3.x 系列在运行时需要 Java 8。如果您希望从源代码构建 logback,您将需要 Java 9。 1.4.x 系列在构建时和运行时需要 Java 11。
logback-classic 模块可以看作是 log4j 的一个优化版本,它天然的支持 SLF4J,所以你可以随意的从其它日志框架(例如:log4j 或者 java.util.logging)切回到 logack。logback-access 可以与 Servlet 容器进行整合,...
iCal4j-iCalendar解析器和对象... slf4j-api [必需]-集成到不同日志框架实现的日志记录元库。 在所有需要记录的类中使用。 commons-lang3 [必需]-提供对标准Java库的增强,包括对自定义equals()和hashcode()实现的支持
4)使用slf4j作为日志门面 ###项目功能: 1)支持个性化性质 2)支持定时任务增量爬取数据 3)支持使用cookie模拟登录 4)支持设置代理列表并随机切换 5)集成SpringJDBC和JDBC,支持数据持久化 6)集成ICTCLAS,...
日志管理:SLF4J 1.7、Log4j 工具类:Apache Commons、Jackson 2.2、Xstream 1.4、Dozer 5.3、POI 3.9 2、前端 JS框架:jQuery 1.9。 CSS框架:Twitter Bootstrap 2.3.1。 日期控件: My97DatePicker 4、平台 服务器...
Spring 5.0框架自带了通用的日志封装 ...自动检测log4j 2.x, SLF4J, JUL(java.util.Logging)而不是其他的支持 访问Resuouce时提供getFile或和isFile防御式抽象 基于NIO的readableChannel也提供了这个新特性
使用slf4j+log4j做日志记录 使用druid做连接池及监控 采用mysql作为数据库 使用kaptcha并二次开发作为验证码 使用maven作为jar管理 使用redis作为缓存 使用poi导出excel 项目亮点: 严格的权限控制,当然你也可以自己...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
Springboot快速开发项目描述通用快速开发框架是一套轻量级的权限系统,主要包括用户管理,角色管理,部门管理,菜单管理,SQL监视,定时任务,...SLF4J 1.7,Log4j单元测试:JUnit 4.12 API接口文档:Swagger 2.7.0页面
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...
BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...