博主正在學習日誌的東西,但是網上的教程真實慘不忍睹,跳了許多坑
今天博主就要告訴你怎麼使用SLF4J
首先
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.26</version>
</dependency>
ps: 只需要引入這個包
ps:從maven倉庫有個scope,內容爲test,需要把這個去掉,不然報錯
!!!
也許有人會問,網上引用的包不是更多嗎,怎麼只需要引用一個包.
在這裏需要添一個圖
再看那個引入包裏面的依賴碼:::
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<type>test-jar</type>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
這個包已經引用好了其他的包了,已經不需要引用其他包了…
那知道這些,之後,你需要寫一個配置文件
但是,疑問就來了,這需要寫到哪裏呢…
這個問題,如果大家瞭解的話,如果用過讀取配置文件是怎麼
Thread.currentThread().getContextClassLoader().getResourceAsStream(“xxxx”);
這一句碼到底是讀取哪裏的文件時,
我只需要告訴你,
在eclipse中,
只需在項目中創建一個source floder(名字任意!!!)
但是,那個配置文件的名字不能亂起 …
配置文件如下
log4j.rootLogger=debug,stdout,R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d (%F:%L) - %m%n
#%-d{MM-dd HH:mm:ss.SSS} %-5p - [%c{1}.%t] %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=log/log.txt
log4j.appender.R.MaxFileSize=100000KB
log4j.appender.R.MaxBackupIndex=200
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%p] - %m - %l %n
log4j.rootCategory=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yy-MM-dd HH:mm:ss:SSS} %5p %t %c{2}:%L - %m%n
本人配置文件,你也可以自己設計好自己的配置文件 !!!
App方法實現
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Hello world!
*
*/
public class App {
private static final Logger logger = LoggerFactory.getLogger(App.class);
public static void main(String[] args) {
// 記錄debug級別的信息
logger.debug("This is debug message.");
// 記錄info級別的信息
logger.info("This is info message.");
// 記錄error級別的信息
logger.error("This is error message.");
Thread.currentThread().getContextClassLoader().getResourceAsStream("xxxx");
}
}
Log日誌的表示方法 !!!
如果想需要其他的日誌格式
這裏還有許多 !!!
https://mvnrepository.com/search?q=slf4j 鏈接
但是,只要換成導入其他有binding結尾的maven的配置,但是請把那個scope去掉.
實現可以使用logback等格式的日誌格式 !!!