上一遍寫到了log4j2分層輸出日志的內容,但因為項目原先采用的log4j,現使用log4j2,需將原有log4j的代碼進行替換,以前的代碼類似如下:
private static final Logger logger = LoggerFactory.getLogger(TestController.class);
logger.error(..)
例如對controller層的日志進行替換
1. 引入LogUtil類
通過分析,所有controlle層都加了@controller spring注解,一定引用了import org.springframework.stereotype.Controller; 所以就對這個字符串進行替換(mac快捷鍵shift+command+r,其他系統自行查找快捷鍵,下面的操作都是mac 系統為例)
注意匹配要選擇regex
需要加入換行符,mac系統換行符為\n,
2. 刪除字符串類似 private static final Logger logger ...
因為不同的controller類,該字符串可能不一樣,代碼舉例如下:
private static final Logger logger = LoggerFactory.getLogger(TestController.class);
static final Logger log = LoggerFactory.getLogger(TestController.class);
private Logger logger = LoggerFactory.getLogger(getClass());
像這種情況,我們就需要用到正則表達式了,如下圖所示
3. 替換logger.info或者log.warn
最后,需要將logger.info替換為LogUtil.CONTROLLER.info 或者LogUtil.CONTROLLER.warn等,也采用正則匹配替換,如下所示: