国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 高阳县| 浦北县| 辽阳市| 香港| 寿宁县| 宁南县| 柞水县| 衡阳市| 霞浦县| 平谷区| 乐业县| 弋阳县| 咸丰县| 金门县| 陈巴尔虎旗| 定西市| 且末县| 彭州市| 玉山县| 深圳市| 宿州市| 双牌县| 会宁县| 天镇县| 鸡泽县| 盐山县| 尉氏县| 专栏| 凤台县| 威信县| 赤城县| 通榆县| 烟台市| 永顺县| 襄汾县| 兴仁县| 观塘区| 柳林县| 轮台县| 抚顺市| 黄冈市|