如何指定org.openrewrite.java.logging.SystemPrintToLogging的配置选项?
OpenRewrite SystemOutToLogging 配方配置示例
YAML 配置(含全部4个选项)
type: specs.openrewrite.org/v1beta/recipe name: custom-systemout-to-logging displayName: "替换System.out为日志调用" description: "自动将代码中的System.out/System.err替换为标准日志框架调用,支持自动生成Logger实例" recipeList: - org.openrewrite.java.logging.SystemOutToLogging: loggerName: "logger" # 自定义Logger变量名,默认值为"log" addLogger: true # 自动在类中添加Logger实例声明 level: INFO # 日志级别,可选值:TRACE/DEBUG/INFO/WARN/ERROR useSlf4j: false # 是否使用SLF4J接口,默认使用JDK原生日志
简化版配置(仅使用核心选项)
修正缩进后的配置如下:
type: specs.openrewrite.org/v1beta/recipe name: cleanup displayName: "Cleanup" description: "Cleanup" recipeList: - org.openrewrite.java.logging.SystemOutToLogging: loggerName: "logger" addLogger: "true"
Maven 配置示例(含全部4个选项)
在项目pom.xml中配置Rewrite插件:
<build> <plugins> <plugin> <groupId>org.openrewrite.maven</groupId> <artifactId>rewrite-maven-plugin</artifactId> <version>5.40.0</version> <configuration> <activeRecipes> <recipe>org.openrewrite.java.logging.SystemOutToLogging</recipe> </activeRecipes> <configurations> <configuration> <recipe>org.openrewrite.java.logging.SystemOutToLogging</recipe> <options> <loggerName>logger</loggerName> <addLogger>true</addLogger> <level>INFO</level> <useSlf4j>false</useSlf4j> </options> </configuration> </configurations> </configuration> <dependencies> <dependency> <groupId>org.openrewrite.recipe</groupId> <artifactId>rewrite-logging-frameworks</artifactId> <version>2.43.0</version> </dependency> </dependencies> </plugin> </plugins> </build>
选项说明
- loggerName: 指定生成的Logger变量名称,默认值为
log - addLogger: 布尔值,设为
true时会自动在类中添加Logger实例(无需手动编写private static final Logger logger = ...) - level: 统一指定日志级别,默认System.out对应
INFO、System.err对应ERROR - useSlf4j: 布尔值,设为
true时使用SLF4J接口,否则使用JDK自带的java.util.logging.Logger
内容的提问来源于stack exchange,提问作者Darek
相关产品推荐
相关产品推荐

