我正在尝试用Java语言编写一个脚本或程序,以便在logback / SLF4J中查找并替换Log4J的所有实例和变体。
以下是我的Log4J记录器的一些示例:
log.error(myName+ "Ctrl: Exception: caught in runBcpOrderInfoSearchState "+ e.getMessage());要更改为:
log.error("{}Ctrl: Exception: caught in runBcpOrderInfoSearchState {}", myName, e.getMessage());如果你有经验,请分享一些经验。
发布于 2011-08-03 10:41:58
我以前已经做过好几次这样的事情了。您可以编写regexp,但通常很难(有太多的角例)来正确编写。
我最好的建议是使用键盘宏系统-我通常会启动Emacs -并变得更聪明。找到带引号的字符串,将其剪切,将其移动到括号开头的位置,将+替换为,。等等。创建一个宏,在下一个情况下启动它,如果需要的话,可以自我更正。这是一种很好的方式,可以让它稍微不那么乏味,而不会迷失在做一些你可能永远不会再用到的复杂的crud中。
发布于 2013-07-11 22:35:44
我对slf4j迁移程序做了一个增强,它将日志消息转换为参数化的:https://github.com/JamesStauffer/slf4j
发布于 2011-08-03 13:06:59
使用slf4j migrator。
https://stackoverflow.com/questions/6920995
复制相似问题