slf4j使用:
注意jar版本對應
slf4j所提供的核心api是一些介面以及乙個logge***ctory的工廠類。而在使用slf4j的時候,不需要在**中或配置檔案中指定你打算用那個具體的日誌系統。只需要在專案中加入定的slf4j-logo.jar包就可以。這個和spring的ioc思想有點像,想用哪個就用哪個,隨意切換。
使用slf4j這種記錄日誌的方式的特點很明顯:1、如果我們需要記錄的是底層類庫或者元件這種東西,就可以不影響或強制要求使用者選擇哪種日誌系統。2、如果我們用特定的日誌系統寫了**,但是有一天要求換另一種日誌系統,如果之前就用slf4j的api寫的,那就很簡單,但是如果用具體的一種方式寫了以後,那在切換就很麻煩。
在**中的使用示例:
import org.slf4j.logger;
import org.slf4j.logge***ctory;
public class slf4jtest ,{},{},{}", "abc", false, 123,new slf4jtest());
// 記錄deubg資訊
logger.debug("[debug message]");
// 記錄trace資訊
logger.trace("[trace message]");
system.out.println("hello world");}}
具體使用哪種日誌系統,這個可以隨意切換,演示如下:
1、使用slf4j的******日誌系統:
在classpath中加入:slf4j-******.jar,執行程式輸入如下:
[main] error com.swu.gusi.slf4jtest - [info message]
[main] info com.swu.gusi.slf4jtest - [info message]abc,false,123,com.swu.gusi.slf4jtest@503f0b70
hello world
2、切換成jdk的日誌系統:
在classpath中將 slf4j-logo.jar 換成slf4j-jdk.jar,執行程式如下:
九月 20, 2014 12:33:52 下午 com.swu.gusi.slf4jtest main
嚴重: [info message]
九月 20, 2014 12:33:52 下午 com.swu.gusi.slf4jtest main
資訊: [info message]abc,false,123,com.swu.gusi.slf4jtest@400da341
hello world
3、切換成log4j的日誌系統:
在classpath中將slf4j-logo.jar換成slf4j-log4j.jar,注意這在使用log4j的時候,需要自己配置log4j.properites檔案或者log4j.xml。至於log4j的使用查閱其他文件。
4、切換成其他的日誌系統和上面相同。
5、如果classpath中有多種日誌系統,會怎麼樣呢。會提示類似如下資訊(最好別這樣搞):
slf4j: class path contains multiple slf4j bindings.
slf4j: found binding in [jar:file:/e:/repository/org/slf4j/slf4j-******/1.7.7/slf4j-******-1.7.7.jar!/org/slf4j/impl/staticloggerbinder.class]
slf4j: found binding in [jar:file:/e:/repository/org/slf4j/slf4j-jdk14/1.7.7/slf4j-jdk14-1.7.7.jar!/org/slf4j/impl/staticloggerbinder.class]
slf4j: see for an explanation.
slf4j: actual binding is of type [org.slf4j.impl.******logge***ctory]
[main] error com.swu.gusi.slf4jtest - [info message]
[main] info com.swu.gusi.slf4jtest - [info message]abc,false,123,com.swu.gusi.slf4jtest@10e80317
hello world
日誌註解 Slf4j
1 在idea中安裝外掛程式 lombok 2 在pom.xml中增加 org.projectlombok lombok 3 測試 slf4j restcontroller public class testcontroller 4 不安裝外掛程式,只是在pom.xml增加依賴,不能直接寫log.5...
slf4j 日誌列印
private static final logger logger logge ctory.getlogger logaspect.class 引數格式寫法 logger.info 耗時,ms identity,system.currenttimemillis starttime 一般寫法 log...
SLF4j使用例子
slf4j是乙個簡單日記門面,使得終端使用者能夠在部署的時候配置自己希望的loging apis實現。1.首先引入slf4j api的jar包 2.裡面使用slf4j列印日誌 package org.dhj.slf4j import org.slf4j.logger import org.slf4j...