Java Dropwizard登录代码
我正在使用dropwizard 0.7-rc1。我可以通过提供config.yaml来编写日志。 我想通过代码重写一些属性。我试过使用代码,但不起作用 代码Java Dropwizard登录代码,java,rest,dropwizard,Java,Rest,Dropwizard,我正在使用dropwizard 0.7-rc1。我可以通过提供config.yaml来编写日志。 我想通过代码重写一些属性。我试过使用代码,但不起作用 代码 @覆盖 公共无效运行(XConfiguration配置,环境) 抛出异常{ configuration.setLoggingFactory(空); LoggingFactory LoggingFactory=新LoggingFactory(); FileAppenderFactory FileAppenderFactory=新FileApp
@覆盖
公共无效运行(XConfiguration配置,环境)
抛出异常{
configuration.setLoggingFactory(空);
LoggingFactory LoggingFactory=新LoggingFactory();
FileAppenderFactory FileAppenderFactory=新FileAppenderFactory();
fileAppenderFactory.setArchive(true);
fileAppenderFactory.setArchivedFileCount(7);
setArchivedLogFilenamePattern(“rest_服务-%d{yyyy MM dd}-%i.log.gz”);
持续时间=持续时间。毫秒(100);
fileAppenderFactory.setBatchDuration(duration);
setBatchSize(128);
fileAppenderFactory.setBounded(false);
fileAppenderFactory.setCurrentLogFilename(“rest_service.log”);
fileAppenderFactory.setLogFormat(“%6级[%d{HH:mm:ss.SSS}][%t]%logger{5}-%X{code}%msg%n”);
fileAppenderFactory.setThreshold(Level.INFO);
fileAppenderFactory.setTimeZone(TimeZone.getTimeZone(“UTC”);
ArrayList ArrayList=新的ArrayList();
add(fileAppenderFactory);
loggingFactory.setAppenders(arrayList);
配置。设置loggingFactory(loggingFactory);
//注册了一些资源。
}
那么,我该怎么做呢?您可以通过覆盖工厂来覆盖登录dropwizard。有关该类,请参见DefaultLogginFactory 我在这里写了一个关于如何在dropwizard中覆盖内容的完整示例: 基本上,您需要覆盖日志工厂中的构建方法,并在那里添加自定义代码 我希望这有帮助 阿图尔
@Override
public void run(XConfiguration configuration, Environment environment)
throws Exception {
configuration.setLoggingFactory(null);
LoggingFactory loggingFactory = new LoggingFactory();
FileAppenderFactory fileAppenderFactory = new FileAppenderFactory();
fileAppenderFactory.setArchive(true);
fileAppenderFactory.setArchivedFileCount(7);
fileAppenderFactory.setArchivedLogFilenamePattern("rest_service-%d{yyyy-MM-dd}-%i.log.gz");
Duration duration = Duration. milliseconds(100);
fileAppenderFactory.setBatchDuration(duration);
fileAppenderFactory.setBatchSize(128);
fileAppenderFactory.setBounded(false);
fileAppenderFactory.setCurrentLogFilename("rest_service.log");
fileAppenderFactory.setLogFormat("%-6level [%d{HH:mm:ss.SSS}] [%t] %logger{5} - %X{code} %msg %n");
fileAppenderFactory.setThreshold(Level.INFO);
fileAppenderFactory.setTimeZone(TimeZone.getTimeZone("UTC"));
ArrayList<AppenderFactory> arrayList = new ArrayList<AppenderFactory>();
arrayList.add(fileAppenderFactory);
loggingFactory.setAppenders(arrayList);
configuration.setLoggingFactory(loggingFactory);
//registered some resources.
}