国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

slf4j

2019-11-15 01:16:44
字體:
供稿:網(wǎng)友
slf4j

java簡單日志外觀(Simple Logging Fa?ade for Java, slf4j)是其他日志框架(如java.util.logging, logback, log4j)的一個(gè)簡單的外觀或抽象,以相同API使用不同的日志框架,在部署時(shí)插入自己喜歡的日志框架。

 

slf4j依賴項(xiàng)為 slf4j-api.jar,如果在類路徑上沒有綁定任何框架,則slf4j默認(rèn)不執(zhí)行任何操作。

 

Hello World

按照一貫習(xí)俗,下例解釋用最簡單的方式以slf4j輸出 "Hello world"。

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

 

public class HelloWorld {

public static void main(String[] args) {

Logger logger = LoggerFactory.getLogger(HelloWorld.class);

logger.info("Hello World");

}

}

如果只將slf4j-api.jar添加到路徑中,運(yùn)行后出現(xiàn)如下信息:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".

SLF4J: Defaulting to no-Operation (NOP) logger implementation

SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

因?yàn)閟lf4j沒有綁定任何日志框架,如果將slf4j-simple.jar添加到類路徑:

  • slf4j-api-1.7.12.jar
  • slf4j-simple-1.7.12.jar

編譯后運(yùn)行,則控制臺出現(xiàn)如下輸出:

[main] INFO cn.ac.dicp.slf4j.HelloWorld - Hello World

 

典型使用模式

下面的簡單代碼演示了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 tem){

oldT = t;

t = tem;

logger.debug("temperature set to {}. Old temperature was {}.",toString(),oldT);

if(tem.intValue() > 50){

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

}

}

}

注意上面的'{}'。

 

綁定日志框架

slf4j支持多種日志框架:

slf4j-log4j12-1.7.12.jar

綁定log4j 1.2,一個(gè)應(yīng)用廣泛的日志框架,在路徑中同時(shí)要添加log4j.jar.

slf4j-jdk14-1.7.12.jar

綁定 java.util.logging,也稱為JDK 1.4 logging。

slf4j-nop-1.7.12.jar

綁定NOP,默默的放棄所有日志。

slf4j-simple-1.7.12.jar

綁定簡單實(shí)現(xiàn),輸出所有日志到System.err。只有l(wèi)evel 高于或等于INFO的信息輸出。

slf4j-jcl-1.7.12.jar

綁定Jakarta Commons Logging。

logback-classic-1.0.13.jar

需要logback-core-1.0.13.jar。

NATIVE IMPLEMENTATION 在slf4j外,也有slf4j自身的綁定礦建。如logback,本地實(shí)現(xiàn)slf4j。logback的 ch.qos.logback.classic.Logger類直接實(shí)現(xiàn)slf4j 的org.slf4j.Logger接口。因此,結(jié)合使用slf4j和logback的內(nèi)存和計(jì)算量幾乎為零。

 

更改日志框架,直接更改類路徑的包即可,如將slf4j-jdk14-1.7.12.jar換成 slf4j-log4j12-1.7.12.jar。slf4j一次只能綁定一個(gè)框架,不要在路徑上放置兩個(gè)或更多的連接jar。

clip_image001

 

slf4j接口及適配器都極為簡單。

 

Libraries

那些廣泛使用的組件和庫的作者使用slf4j接口,能避免終端用戶必須使用何種日志框架,用戶可以在部署時(shí)選擇喜歡的日志框架,更改對應(yīng)的連接jar即可,該方法簡單有效。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 时尚| 封开县| 淮安市| 观塘区| 辽源市| 江阴市| 木里| 宁化县| 延安市| 甘南县| 响水县| 尤溪县| 唐海县| 留坝县| 会东县| 宁安市| 会泽县| 宁津县| 保定市| 遂平县| 台湾省| 苍南县| 高要市| 普安县| 灌云县| 含山县| 维西| 安乡县| 礼泉县| 五寨县| 平谷区| 朝阳区| 宜宾县| 云南省| 新建县| 西畴县| 双柏县| 会泽县| 浏阳市| 鹤壁市| 潮州市|