Legacy Java Code Refactoring extension for VS Code

System.out|err -> logger.info|debug|trace|error
If you place your cursor on a line containing a System.out or System.err calls, a code action will be proposed to convert them to a logger call while refactoring the argument.
For example, with a single click, you can convert this line:
System.out.println("Var1=" + var1 + ", var2=" + var2);
...to...
logger.info("Var1={}, var2={}", var1, var2);
... which allows flexibly setting the verbosity level using post-deployment configuration, while diagnosing runtime issues.
Doing this manually is a tedious and error prone process.

Pre-requisites
You will need to add imports to your Java class:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
You will need the static declaration of the logger field inside the class:
private static final Logger logger = LoggerFactory.getLogger(YourClass.class);
You will also need to add the dependency on the package. See https://www.slf4j.org/manual.html for more info.
Alternatively, you may just decorate your class with @Slf4j attribute, if you also use lombok.
Known issues
The extension does not handle System.out calls with multiple arguments that already use %s and other macros.
Line and block comments inside the System.out method call may also not be handled correctly.
Development
Code actions are used to implement quick fixes and refactoring in VS Code. We use CodeActionProvider api to implement a small set of refactoring that occur chronically in code written by our dear colleague DL.