1. 程式人生 > >idea 正則全域性替換檔案文字

idea 正則全域性替換檔案文字

上一遍寫到了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快捷鍵ctrl+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等,也採用正則匹配替換,如下所示: