通过Logback Dropwizard自定义日志文件

时间:2014-01-29 19:35:46

标签: java logging logback dropwizard

查看dropwizard的源代码我可以看到有自定义粘合代码来读取.yml文件并设置日志记录。

我想要自己的自定义日志文件,但我想使用dropwizard中已存在的旋转和压缩。

有没有办法,没有克隆代码来做到这一点?

https://github.com/dropwizard/dropwizard/tree/master/dropwizard-logging/src/main/java/io/dropwizard/logging

具体来说,看起来需要创建自己的类,该类继承自io.dropwizard.FileAppenderFactory

或者我是从错误的角度攻击这个问题?

2 个答案:

答案 0 :(得分:2)

有一种方法,但你需要更改dropwizard源并重新编译它,如果你使用的是lib。在你正在扩展的dropwizard的Application类中有静态块像打击,只需注释行并使用你的拥有logback.xml文件。这真的是一个痛苦的....

static {
    // make sure spinning up Hibernate Validator doesn't yell at us
    LoggingFactory.bootstrap();
}

答案 1 :(得分:1)

如果我理解正确你只想指定要记录的文件正确吗?

在您的configuration.yml文件中,您只需要添加文件日志记录配置:

logging:

  # The default level of all loggers. Can be OFF, ERROR, WARN, INFO,
  # DEBUG, TRACE, or ALL.
  level: DEBUG

  appenders:
    - type: file
      currentLogFilename: ./path/to/logfile.log
      archivedLogFilenamePattern: ./path/to/logfile-%d.log.gz
      archivedFileCount: 5
      timeZone: UTC

将" / path /替换为/ logfile"使用您希望文件日志的路径。根据{{​​3}}。

,旋转时,%d不会被旋转日期替换

同时检查文件记录器的不同documentation