gpt4 book ai didi

spring - 如何在 spring boot 中的嵌入式 tomcat 中配置 conditionUnless?

转载 作者:行者123 更新时间:2023-11-28 22:27:23 25 4
gpt4 key购买 nike

我正在使用带有嵌入式 tomcat 的 spring boot。我目前正在按如下方式配置访问日志(在我的 application.properties 文件中):

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

效果很好。现在,我想使用 AbstractAccessLogValve 的 conditionUnless 属性,但只是放置 server.tomcat.accesslog.conditionUnless 不起作用。

我该如何设置?在代码中这样做也很好,但我不知道怎么做最好。或者我应该使用不同的方法来配置阀门?

最佳答案

好吧,查看 spring boot 代码,它看到 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 }

因此,不支持 conditionUnless。我想我只需要在我自己的代码初始化中替换这个阀,而不是使用 application.properties 文件。

关于spring - 如何在 spring boot 中的嵌入式 tomcat 中配置 conditionUnless?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37441202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com