IntelliJ:是否有将旧式 Log4J 调用转换为新式 SLF4J 调用的意图操作?
IntelliJ: Is there an Intention Action to convert old style Log4J calls to new style SLF4J calls?
我正在处理一个包含遗留代码的项目,该项目过去曾使用 Log4J,现在使用 SLF4J。大多数旧式 Log4J 日志语句仍然存在,我在遇到它们时将日志语句慢慢转换为新的 SLF4J 样式。
我刚刚意识到在旧式日志语句中按 Alt+Enter 会给我以下选项(不幸的是我无法上传屏幕截图):
- 将字符串连接文本复制到剪贴板
- 插入语言或引用
- 将“+”替换为'String.format()'
- 将“+”替换为'StringBuilder.append()'
- 将“+”替换为'java.test.MessageFormat.format()'
选项 Replace '+' with 'String.format()'
非常接近我的需要,尽管我不需要 String.format(
位。
有什么东西可以给我一个意向行动:Replace Log4J style log statement with SLF4J style log statement
?
作为旧日志记录样式(例如 Log4J)的示例,我的意思是:
LOGGER.debug("User " + user.getUserId() + " has performed a search with the criteria " + dto);
新风格是指:
LOGGER.debug("User {} has performed a search with the criteria {}", user.getUserId(), dto);
感谢 Wim Deblauwe 对 SSR 的评论,我发现了 编辑 |查找 |结构替换 并使用以下内容修复在日志语句中使用两个参数的简单情况:
搜索模板:
LOGGER.debug("$str1$" + $arg1$ + "$str2$" + $arg2$)
替换模板:
LOGGER.debug("$str1${}$str2${}", $arg1$, $arg2$)
我怀疑我是否正在最大程度地使用结构搜索和替换功能,并且必须进行几次扫描才能获取所有日志记录语句,但这是一个很大的进步。谢谢维姆。
你试过Java吗?记录问题 |非常量字符串连接作为日志调用 检查的参数?它有一个 quickfix 自动将字符串连接转换为参数化日志消息。
我正在处理一个包含遗留代码的项目,该项目过去曾使用 Log4J,现在使用 SLF4J。大多数旧式 Log4J 日志语句仍然存在,我在遇到它们时将日志语句慢慢转换为新的 SLF4J 样式。
我刚刚意识到在旧式日志语句中按 Alt+Enter 会给我以下选项(不幸的是我无法上传屏幕截图):
- 将字符串连接文本复制到剪贴板
- 插入语言或引用
- 将“+”替换为'String.format()'
- 将“+”替换为'StringBuilder.append()'
- 将“+”替换为'java.test.MessageFormat.format()'
选项 Replace '+' with 'String.format()'
非常接近我的需要,尽管我不需要 String.format(
位。
有什么东西可以给我一个意向行动:Replace Log4J style log statement with SLF4J style log statement
?
作为旧日志记录样式(例如 Log4J)的示例,我的意思是:
LOGGER.debug("User " + user.getUserId() + " has performed a search with the criteria " + dto);
新风格是指:
LOGGER.debug("User {} has performed a search with the criteria {}", user.getUserId(), dto);
感谢 Wim Deblauwe 对 SSR 的评论,我发现了 编辑 |查找 |结构替换 并使用以下内容修复在日志语句中使用两个参数的简单情况:
搜索模板:
LOGGER.debug("$str1$" + $arg1$ + "$str2$" + $arg2$)
替换模板:
LOGGER.debug("$str1${}$str2${}", $arg1$, $arg2$)
我怀疑我是否正在最大程度地使用结构搜索和替换功能,并且必须进行几次扫描才能获取所有日志记录语句,但这是一个很大的进步。谢谢维姆。
你试过Java吗?记录问题 |非常量字符串连接作为日志调用 检查的参数?它有一个 quickfix 自动将字符串连接转换为参数化日志消息。