slf4j日志管理(1)

介绍

本身写的一个简单案例:http://www.javashuo.com/article/p-xxmrgmmm-kh.html 一下解释,来源与百度百科,看了不少文章都是这么写的,不知道谁copy谁的,我这里说明一下。 SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各类各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,容许最终用户在部署其应用时使用其所但愿的日志系统。数据库

中文名:简单日志门面
英文名:Simple Logging Facade for Java
简    称:SLF4J
类    型:日志系统

实际上,SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。从某种程度上,SLF4J有点相似JDBC,不过比JDBC更简单,在JDBC中,你须要指定驱动程序,而在使用SLF4J的时候,不须要在代码中或配置文件中指定你打算使用那个具体的日志系统。如同使用JDBC基本不用考虑具体数据库同样,SLF4J提供了统一的记录日志的接口,只要按照其提供的方法记录便可,最终日志的格式、记录级别、输出方式等经过具体日志系统的配置来实现,所以能够在应用中灵活切换日志系统.net

###使用缘由debug

若是你开发的是类库或者嵌入式组件,那么就应该考虑采用SLF4J,由于不可能影响最终用户选择哪一种日志系统。在另外一方面,若是是一个简单或者独立的应用,肯定只有一种日志系统,那么就没有使用SLF4J的必要。假设你打算将你使用log4j的产品卖给要求使用JDK 1.4 Logging的用户时,面对成千上万的log4j调用的修改,相信这绝对不是一件轻松的事情。可是若是开始便使用SLF4J,那么这种转换将是很是轻松的事情。日志

SLF4J不一样于其余日志类库,与其它有很大的不一样。SLF4J(Simple logging Facade for Java)不是一个真正的日志实现,而是一个抽象层( abstraction layer),它容许你在后台使用任意一个日志类库。这使咱们不须要在意以后使用什么日志系统去实现日志功能。code

Log4j中使用的方案实现日志时,通常代码是blog

if (logger.isDebugEnabled()) {
    logger.debug("Processing trade with id: " + id + " symbol: " + symbol);
}

而在slf4j中能够获得在极简洁的格式的结果接口

logger.debug("Processing trade with id: {} and symbol : {} ", id, symbol);

在SLF4J,咱们不须要字符串链接并且不会致使暂时不须要的字符串消耗。取而代之的,咱们在一个以占位符{}和以参数传递实际值的模板格式下写日志信息。开发

相关文章
相关标签/搜索