idea 正则全局替换文件文本

时间:2022-12-17 09:25:36

上一遍写到了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
idea 正则全局替换文件文本

需要加入换行符,mac系统换行符为\n,
idea 正则全局替换文件文本

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());

像这种情况,我们就需要用到正则表达式了,如下图所示
idea 正则全局替换文件文本

3. 替换logger.info或者log.warn

最后,需要将logger.info替换为LogUtil.CONTROLLER.info 或者LogUtil.CONTROLLER.warn等,也采用正则匹配替换,如下所示:
idea 正则全局替换文件文本