slf4j使用 日誌

2021-09-02 19:30:15 字數 2168 閱讀 5319

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...