idea 正則全域性替換檔案文字
阿新 • • 發佈:2018-12-28
上一遍寫到了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等,也採用正則匹配替換,如下所示: