Java使用SLF4J (log4j)

博主正在學習日誌的東西,但是網上的教程真實慘不忍睹,跳了許多坑
今天博主就要告訴你怎麼使用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等格式的日誌格式 !!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章