2016-05-25 2 views
0

Я использую весенний ботинок со встроенным tomcat. Я в настоящее время настройки протокола доступа следующим образом (в моем файле application.properties):Как настроить conditionUnless во встроенном tomcat в течение весенней загрузки?

server.tomcat.accesslog.directory=log 
server.tomcat.accesslog.enabled=true 
server.tomcat.accesslog.pattern=%t INFO "some pattern..." 
server.tomcat.accesslog.prefix=tomcat 
server.tomcat.accesslog.suffix=.log 

, который работает отлично. Теперь я хотел бы использовать conditionUnless свойство AbstractAccessLogValve, но просто положить server.tomcat.accesslog.conditionUnless не работает.

Как бы это установить? Делать это в коде тоже хорошо, но я не знаю, как это сделать. Или я должен использовать другой метод настройки клапана?

ответ

0

Ну, глядя на весенний код загрузки, он видит, что AccessLogValve настраивается следующим образом (в spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java):

831  private void customizeAccessLog(TomcatEmbeddedServletContainerFactory factory) { 
832  AccessLogValve valve = new AccessLogValve(); 
833  valve.setPattern(this.accesslog.getPattern()); 
834  valve.setDirectory(this.accesslog.getDirectory()); 
835  valve.setPrefix(this.accesslog.getPrefix()); 
836  valve.setSuffix(this.accesslog.getSuffix()); 
837  factory.addContextValves(valve); 
838  } 

Таким образом, условие не поддерживается. Думаю, мне просто нужно будет заменить этот клапан в моей инициализации кодом, а не с помощью файла application.properties.

Смежные вопросы