SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样
的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。
他是一套包装Logging 框架的接口程式,以外观模式实现。可在软件部署的时候决定要使用的 Logging 框架,目前主要支援的有Java Logging API、log4j及logback等框架。以MIT 授权方式发布。
slf4j优点:
1.只有五种日志级别,没有Fatal级别
2.格式化输出,不像log4j那样使用+号拼接字符串,它是"{} is larger than {}",a ,b这种形式格式化的
logger.debug("There are now {} user accounts: {}", count, userAccountList);
3.没有logger.isDebugable()的判断,代码更加优美
的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。
他是一套包装Logging 框架的接口程式,以外观模式实现。可在软件部署的时候决定要使用的 Logging 框架,目前主要支援的有Java Logging API、log4j及logback等框架。以MIT 授权方式发布。
slf4j优点:
1.只有五种日志级别,没有Fatal级别
2.格式化输出,不像log4j那样使用+号拼接字符串,它是"{} is larger than {}",a ,b这种形式格式化的
logger.debug("There are now {} user accounts: {}", count, userAccountList);
3.没有logger.isDebugable()的判断,代码更加优美
4.slf4j只是种接口,他的实现可以是各种log框架,这样就可以方便地进行log框架迁移
实现例子,slf4j包装log4j
依赖包:slf4j-api-1.7.12.jar slf4j-log4j12-1.7.12.jar log4j-1.2.17.jar
log4j.properties配置
log4j.rootLogger=info,consoleAppender
log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss SSS} ->[%t]--[%-5p]--[%c{1}]--%m%n
测试:
private static Logger logger = LoggerFactory.getLogger(StudentTest.class);
....
logger.info(mapper.getStudent(1).toString());