Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Spring Boot enable http requests logging (access logs)

How to enable access logs in an embedded tomcat server provided by spring boot? I've tried this in application.properties but it doesn't create file, neither logs to console.

server.tomcat.access-log-enabled=true server.tomcat.access-log-pattern=%a asdasd logging.file=/home/mati/mylog.log 
like image 909
Mati Avatar asked Apr 27 '14 15:04

Mati


People also ask

What is ${} in Spring Boot?

Spring Boot - Using ${} placeholders in Property Files. ☰ LOGICBIG.

Can you control logging with Spring Boot?

Spring Boot uses Apache Commons Logging for internal logging but allows developers to configure the underlying log implementation. Various logging providers are supported through simple configuration. Spring Boot provides default configurations for Java Util Logging, Log4J2 and Logback.


1 Answers

Here it goes a way to have them displayed in console or whatever file you choose. Declare Tomcat's RequestDumperFilter in any @Configuration class:

@Bean public FilterRegistrationBean requestDumperFilter() {     FilterRegistrationBean registration = new FilterRegistrationBean();     Filter requestDumperFilter = new RequestDumperFilter();     registration.setFilter(requestDumperFilter);     registration.addUrlPatterns("/*");     return registration; } 

And that's the output:

http-nio-8765-exec-1 START TIME        =30-may-2016 12:45:41 http-nio-8765-exec-1         requestURI=/info http-nio-8765-exec-1           authType=null http-nio-8765-exec-1  characterEncoding=UTF-8 http-nio-8765-exec-1      contentLength=-1 http-nio-8765-exec-1        contentType=null http-nio-8765-exec-1        contextPath= http-nio-8765-exec-1             cookie=JSESSIONID=E7259F5F9ED6B04CBE5A294C5F8CA5C6 http-nio-8765-exec-1             header=host=mies-057:8765 http-nio-8765-exec-1             header=connection=keep-alive http-nio-8765-exec-1             header=accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 http-nio-8765-exec-1             header=upgrade-insecure-requests=1 http-nio-8765-exec-1             header=user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36 http-nio-8765-exec-1             header=referer=http://mies-057:1111/ http-nio-8765-exec-1             header=accept-encoding=gzip, deflate, sdch http-nio-8765-exec-1             header=accept-language=es-ES,es;q=0.8 http-nio-8765-exec-1             header=cookie=JSESSIONID=E7259F5F9ED6B04CBE5A294C5F8CA5C6 http-nio-8765-exec-1             locale=es_ES http-nio-8765-exec-1             method=GET http-nio-8765-exec-1           pathInfo=null http-nio-8765-exec-1           protocol=HTTP/1.1 http-nio-8765-exec-1        queryString=null http-nio-8765-exec-1         remoteAddr=192.168.56.1 http-nio-8765-exec-1         remoteHost=192.168.56.1 http-nio-8765-exec-1         remoteUser=null http-nio-8765-exec-1 requestedSessionId=E7259F5F9ED6B04CBE5A294C5F8CA5C6 http-nio-8765-exec-1             scheme=http http-nio-8765-exec-1         serverName=mies-057 http-nio-8765-exec-1         serverPort=8765 http-nio-8765-exec-1        servletPath=/info http-nio-8765-exec-1           isSecure=false http-nio-8765-exec-1 ------------------=-------------------------------------------- http-nio-8765-exec-1 ------------------=-------------------------------------------- http-nio-8765-exec-1           authType=null http-nio-8765-exec-1        contentType=application/json;charset=UTF-8 http-nio-8765-exec-1             header=Strict-Transport-Security=max-age=31536000 ; includeSubDomains http-nio-8765-exec-1             header=X-Application-Context=EDGE:8765 http-nio-8765-exec-1             header=Content-Type=application/json;charset=UTF-8 http-nio-8765-exec-1             header=Transfer-Encoding=chunked http-nio-8765-exec-1             header=Date=Mon, 30 May 2016 10:45:41 GMT http-nio-8765-exec-1             status=200 http-nio-8765-exec-1 END TIME          =30-may-2016 12:45:41 http-nio-8765-exec-1 =============================================================== 

Then manage it as any standard Spring Boot log.

like image 71
Xtreme Biker Avatar answered Oct 14 '22 07:10

Xtreme Biker