如何在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。这对我有用:
@Configurationpublic 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