Commit 5ca197b5 authored by Stephane Nicoll's avatar Stephane Nicoll

Merge branch '1.5.x'

parents 030b5661 cbde6ed0
...@@ -414,6 +414,7 @@ public class DefaultServletContainerCustomizer ...@@ -414,6 +414,7 @@ public class DefaultServletContainerCustomizer
valve.setPrefix(tomcatProperties.getAccesslog().getPrefix()); valve.setPrefix(tomcatProperties.getAccesslog().getPrefix());
valve.setSuffix(tomcatProperties.getAccesslog().getSuffix()); valve.setSuffix(tomcatProperties.getAccesslog().getSuffix());
valve.setRenameOnRotate(tomcatProperties.getAccesslog().isRenameOnRotate()); valve.setRenameOnRotate(tomcatProperties.getAccesslog().isRenameOnRotate());
valve.setFileDateFormat(tomcatProperties.getAccesslog().getFileDateFormat());
valve.setRequestAttributesEnabled( valve.setRequestAttributesEnabled(
tomcatProperties.getAccesslog().isRequestAttributesEnabled()); tomcatProperties.getAccesslog().isRequestAttributesEnabled());
valve.setRotatable(tomcatProperties.getAccesslog().isRotate()); valve.setRotatable(tomcatProperties.getAccesslog().isRotate());
......
...@@ -653,6 +653,11 @@ public class ServerProperties { ...@@ -653,6 +653,11 @@ public class ServerProperties {
*/ */
private boolean renameOnRotate; private boolean renameOnRotate;
/**
* Date format to place in log file name.
*/
private String fileDateFormat = ".yyyy-MM-dd";
/** /**
* Set request attributes for IP address, Hostname, protocol and port used for * Set request attributes for IP address, Hostname, protocol and port used for
* the request. * the request.
...@@ -720,6 +725,14 @@ public class ServerProperties { ...@@ -720,6 +725,14 @@ public class ServerProperties {
this.renameOnRotate = renameOnRotate; this.renameOnRotate = renameOnRotate;
} }
public String getFileDateFormat() {
return this.fileDateFormat;
}
public void setFileDateFormat(String fileDateFormat) {
this.fileDateFormat = fileDateFormat;
}
public boolean isRequestAttributesEnabled() { public boolean isRequestAttributesEnabled() {
return this.requestAttributesEnabled; return this.requestAttributesEnabled;
} }
......
...@@ -93,6 +93,29 @@ public class DefaultServletContainerCustomizerTests { ...@@ -93,6 +93,29 @@ public class DefaultServletContainerCustomizerTests {
.isInstanceOf(AccessLogValve.class); .isInstanceOf(AccessLogValve.class);
} }
@Test
public void tomcatAccessLogFileDateFormatByDefault() {
TomcatEmbeddedServletContainerFactory tomcatContainer = new TomcatEmbeddedServletContainerFactory();
Map<String, String> map = new HashMap<String, String>();
map.put("server.tomcat.accesslog.enabled", "true");
bindProperties(map);
this.customizer.customize(tomcatContainer);
assertThat(((AccessLogValve) tomcatContainer.getEngineValves().iterator().next())
.getFileDateFormat()).isEqualTo(".yyyy-MM-dd");
}
@Test
public void tomcatAccessLogFileDateFormatCanBeRedefined() {
TomcatEmbeddedServletContainerFactory tomcatContainer = new TomcatEmbeddedServletContainerFactory();
Map<String, String> map = new HashMap<String, String>();
map.put("server.tomcat.accesslog.enabled", "true");
map.put("server.tomcat.accesslog.file-date-format", "yyyy-MM-dd.HH");
bindProperties(map);
this.customizer.customize(tomcatContainer);
assertThat(((AccessLogValve) tomcatContainer.getEngineValves().iterator().next())
.getFileDateFormat()).isEqualTo("yyyy-MM-dd.HH");
}
@Test @Test
public void tomcatAccessLogIsBufferedByDefault() { public void tomcatAccessLogIsBufferedByDefault() {
TomcatEmbeddedServletContainerFactory tomcatContainer = new TomcatEmbeddedServletContainerFactory(); TomcatEmbeddedServletContainerFactory tomcatContainer = new TomcatEmbeddedServletContainerFactory();
......
...@@ -195,6 +195,7 @@ content into your application; rather pick only the properties that you need. ...@@ -195,6 +195,7 @@ content into your application; rather pick only the properties that you need.
server.tomcat.accesslog.buffered=true # Buffer output such that it is only flushed periodically. server.tomcat.accesslog.buffered=true # Buffer output such that it is only flushed periodically.
server.tomcat.accesslog.directory=logs # Directory in which log files are created. Can be relative to the tomcat base dir or absolute. server.tomcat.accesslog.directory=logs # Directory in which log files are created. Can be relative to the tomcat base dir or absolute.
server.tomcat.accesslog.enabled=false # Enable access log. server.tomcat.accesslog.enabled=false # Enable access log.
server.tomcat.accesslog.file-date-format=.yyyy-MM-dd # Date format to place in log file name.
server.tomcat.accesslog.pattern=common # Format pattern for access logs. server.tomcat.accesslog.pattern=common # Format pattern for access logs.
server.tomcat.accesslog.prefix=access_log # Log file name prefix. server.tomcat.accesslog.prefix=access_log # Log file name prefix.
server.tomcat.accesslog.rename-on-rotate=false # Defer inclusion of the date stamp in the file name until rotate time. server.tomcat.accesslog.rename-on-rotate=false # Defer inclusion of the date stamp in the file name until rotate time.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment