如何在spring-boot中配置tomcat访问日志的位置和名称?

我在application.yml中有一个具有以下配置的spring-boot应用程序

server:

contextPath: /rti

tomcat:

access-log-enabled: true

access-log-pattern: "%h %l %u %t \"%r\" %s %b %D"

basedir: tomcat

这会提示创建访问日志tomcat / logs / access_log.2015-02-12.txt。

我希望能够配置访问日志的创建位置和名称。但是经过大量搜索之后,我开始认为这是不可能的。有谁知道如何实现这一目标?

使用logback.xml中的logback和配置,应用程序日志运行良好

回答:

您可以使用EmbeddedServletContainerCustomizer接口将完全自定义的阀门添加到嵌入式tomcat。这对我有用:

@Configuration

public class WebConfig extends WebMvcConfigurerAdapter implements EmbeddedServletContainerCustomizer {

@Override

public void customize(ConfigurableEmbeddedServletContainer container) {

if (container instanceof TomcatEmbeddedServletContainerFactory) {

TomcatEmbeddedServletContainerFactory factory = (TomcatEmbeddedServletContainerFactory) container;

AccessLogValve accessLogValve = new AccessLogValve();

accessLogValve.setDirectory("/var/log/test");

accessLogValve.setPattern("common");

accessLogValve.setSuffix(".log");

factory.addContextValves(accessLogValve);

} else {

logger.error("WARNING! this customizer does not support your configured container");

}

}

}

以上是 如何在spring-boot中配置tomcat访问日志的位置和名称? 的全部内容, 来源链接: utcz.com/qa/415415.html

回到顶部