You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何指定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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 18:55:05