Java中slf4j日志使用_java的日志记录工具 slf4j的使用

SLF4J是Simple Logging System for Java的缩写

SLF4J是为各种loging APIs提供一个简单统一的接口,从而使得最终用户能够在部署的时候配置自己希望的loging APIs实现,抽象了各种日志框架例如Logback、Log4j、Commons-logging和JDK自带的logging实现接口。它使得用户可以在部署时使用自己想要的日志框架。SLF4J是轻量级的,在性能方面几乎是零消耗的。

SLF4J没有替代任何日志框架,它仅仅是标准日志框架的外观模式。如果在类路径下除了SLF4J再没有任何日志框架,那么默认状态是在控制台输出日志。

下载SLF4J的API

通过这个链接下载:

http://www.slf4j.org/download.html

SLF4J API用法

1. 从org.slf4j包导入Logger和LoggerFactory

importorg.slf4j.Logger;

importorg.slf4j.LoggerFactory;

2. 声明日志类

privatefinalLogger logger = LoggerFactory.getLogger(LoggingSample.class);

3. 使用debug、warn、info、error方法并跟踪适合的参数。

所有的方法默认都使用字符串作为输入。

logger.info("This is sample info statement");

SLF4J结合Logback

在pom.xml包含下面的依赖:它会自动包含所有的依赖包logback-core、slf4j-api……

ch.qos.logback

logback-classic

1.0.7

SLF4J能用于现有的日志框架如Log4j、Commons-logging、java.util.logging(JUL)。

SLF4J结合Log4j

在pom.xml包含下面的依赖

org.slf4j

slf4j-log4j12

1.7.2

SLF4J结合JUL (java.util.logging)

在pom.xml包含下面的依赖

org.slf4j

slf4j-jdk14

1.7.2

下边一段程序是经典的使用slf4j的方法.

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

public class Wombat {

final Logger logger = LoggerFactory.getLogger(Wombat.class);

Integer t;

Integer oldT;

public void setTemperature(Integer temperature) {

oldT = t;

t = temperature;

logger.error("Temperature set to {}. Old temperature was {}.", t, oldT);

if (temperature.intValue() > 50) {

logger.info("Temperature has risen above 50 degrees.");

}

}

}

public static void main(String[] args) {

Wombat wombat = new Wombat();

wombat.setTemperature(1);

wombat.setTemperature(55);

}

}

下边介绍一下运行上边程序的过程。

1,编译上边的程序,需要classpath中加入slf4j-api-1.4.1.jar文件

2,运行时,需要classpath中加上slf4j-simple-1.4.1.jar

运行得到结果:

----------------------------

0 [main] ERROR Wombat - Temperature set to 1. Old temperature was null.

0 [main] ERROR Wombat - Temperature set to 55. Old temperature was 1.

0 [main] INFO Wombat - Temperature has risen above 50 degrees.

这个是simple log风格,

3,切换:如果想切换到jdk14的log的风格,只需要把slf4j-simple-1.4.1.jar 从classpath中移除,同时classpath中加入slj4j-jdk14-1.4.1.jar 这时的运行结果: --------------------------------------------------- 2007-7-9 10:40:15 Wombat setTemperature 严重: Temperature set to 1. Old temperature was null. 2007-7-9 10:40:16 Wombat setTemperature 严重: Temperature set to 55. Old temperature was 1. 2007-7-9 10:40:16 Wombat setTemperature 信息: Temperature has risen above 50 degrees. 已经变成jdk14的log风格了。 4,再次切换到log4j 同样移除slj4j-jdk14-1.4.1.jar,加入slf4j-log4j12-1.4.1.jar,同时加入log4j-1.2.x.jar 加入log4j.properties。得到显示结果: --------------------------------------- 10:42:27,328 ERROR Wombat: Temperature set to 1. Old temperature was null. 10:42:27,328 ERROR Wombat: Temperature set to 55. Old temperature was 1. 10:42:27,328  INFO Wombat: Temperature has risen above 50 degrees. 在不同的风格中切换只需要在部署期切换类库就可以了,和开发时无关。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值