查看dropwizard的源代码我可以看到有自定义粘合代码来读取.yml文件并设置日志记录。
我想要自己的自定义日志文件,但我想使用dropwizard中已存在的旋转和压缩。
有没有办法,没有克隆代码来做到这一点?
具体来说,看起来需要创建自己的类,该类继承自io.dropwizard.FileAppenderFactory
或者我是从错误的角度攻击这个问题?
答案 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。