Java &引用;必须指定maxFileSize";在使用dropwizard时用于config.yml

Java &引用;必须指定maxFileSize";在使用dropwizard时用于config.yml,java,yaml,dropwizard,rollingfileappender,fileappender,Java,Yaml,Dropwizard,Rollingfileappender,Fileappender,从0.7.1移动到1.0.0后,我一直面临运行时错误,如下所示- 问题是,即使我对config.yml做了相应的更改并成功编译了项目。尽管如此,在尝试运行该项目时,我还是遇到了同样的错误 config.yml 如有需要,卷取的文件大小定义如下- @JsonTypeName("file-size-rolled") public class SizeBasedRollingFileAppenderFactory extends FileAppenderFactory { public sta

0.7.1移动到1.0.0后,我一直面临运行时错误,如下所示-

问题是,即使我对config.yml做了相应的更改并成功编译了项目。尽管如此,在尝试运行该项目时,我还是遇到了同样的错误

config.yml

如有需要,卷取的
文件大小定义如下-

@JsonTypeName("file-size-rolled")
public class SizeBasedRollingFileAppenderFactory extends FileAppenderFactory {
    public static final Size DEFAULT_MAX_FILE_SIZE_STR = Size.parse("50MB") ;

    @NotNull
    @JsonProperty
    Size maxFileSize = DEFAULT_MAX_FILE_SIZE_STR;

此处缺少与版本升级相关的哪些更改?

自dropwizard v0.9.0以来,所有文件轮换策略都是使用类
FileAppenderFactory
完成的。因此,尝试将
文件大小
替换为
文件
,它应该可以工作

另外,确保在类路径中没有任何0.7.1 JAR。我猜他们在附近,因为你没有得到下面的错误消息

无法将类型id“文件大小”解析为[simple]的子类型 类型,类io.dropwizard.logging.AppenderFactory]:已知类型ID= [附件工厂、控制台、文件、系统日志]

如果您感兴趣,请访问Github

编辑-还增加了这样一个事实,即不再需要自定义类
SizeBasedRollingFileAppenderFactory
,在
1.0
中发布
dropwizard
应用程序中的更改

server:
  applicationConnectors:
    - type: http
      port: 8180
  adminConnectors:
    - type: http
      port: 8181
  requestLog:
      appenders:
        - type: file-size-rolled
          currentLogFilename: /var/log/test-service/access.log
          threshold: ALL
          archive: true
          archivedLogFilenamePattern: /var/log/test-service/access.%i.log.gz
          maxFileSize: 50MB
          archivedFileCount: 10
          timeZone: IST
logging:
    level: INFO
    loggers:
      io.dropwizard: INFO
    appenders:
      - type: console
        threshold: ALL
        timeZone: IST
        target: stdout
      - type: file-size-rolled
        threshold: ALL
        currentLogFilename: /var/log/test-document-service/test-service.log
        threshold: ALL
        archive: true
        archivedLogFilenamePattern: /var/log/test-service/test-service-%i.log.gz
        maxFileSize: 50MB
        archivedFileCount: 5
        timeZone: IST
@JsonTypeName("file-size-rolled")
public class SizeBasedRollingFileAppenderFactory extends FileAppenderFactory {
    public static final Size DEFAULT_MAX_FILE_SIZE_STR = Size.parse("50MB") ;

    @NotNull
    @JsonProperty
    Size maxFileSize = DEFAULT_MAX_FILE_SIZE_STR;