【日誌】日誌實例化使用slf4j中的接口、類的好處

package ex.log;

/**
 * 引入Logger LoggerFactory
 */
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 建議在打印日誌時引入slf4j相關接口或類,不要使用log4j或logback中的接口或類,原因如下
 * 1.使用slf4j方便日誌框架的切換。
 *   slf4j是日誌框架的接口定義,log4j或logback是slf4j的實現。
 *   比如現在用的log4j,如果想換成logback,只需要更換jar包即可,不用更改代碼,這就是面向接口編程的一種體現。
 *   如果使用log4j的類或接口,在更換jar包的同時也要修改代碼。
 *   所以下面的語句中所涉及的類、接口都要引入slf4j中類或接口
 *   public static Logger logger = LoggerFactory.getLogger(XXXX.class);
 *   
 * 
 * 2. 使用log打印參數時不用拼接字符串,減少內存佔用,slf4j支持通過{}進行參數佔位
 *    logger.info("{} + {} = {}", a, b, c);
 *    
 *
 */
public class App {
	//Logger LoggerFactory來自slf4j
	public static Logger logger = LoggerFactory.getLogger(App.class);
	
	public static void main(String[] args) {
		int a = 1;
		int b = 2;
		int c = 3;
		//可以這樣打印參數,使用{}作爲參數值的佔位符
		logger.info("{} + {} = {}", a, b, c);
		//不用通過拼接方式打印參數,減少內存佔用
		logger.info(a + " + " + b + " = " + c);

	}
}

 

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