wake-up-neo.com

Spring Boot aktiviert die Protokollierung von http-Anforderungen

Wie aktiviere ich HTTP-Server-Protokolle in einem eingebetteten Tomcat-Server, der von spring boot bereitgestellt wird? Ich habe es versucht in application.properties erstellt aber keine Datei und meldet sich auch nicht an der Konsole an

#application.properties
server.Tomcat.access-log-enabled=true
server.Tomcat.access-log-pattern=%a asdasd
logging.file=/home/mati/mylog.log
spring boot 1.0.1.RELEASE
34
Mati

Versuchen

server.Tomcat.accessLogEnabled=true
server.Tomcat.accessLogPattern=%a asdasd

und schau in /tmp/Tomcat.<random>.<port>/logs für die Ausgabedateien. Einstellen server.Tomcat.basedir Eigenschaft zum Ändern des Verzeichnisses.

30
Dave Syer

Hier können Sie sie in der Konsole oder in einer beliebigen Datei anzeigen lassen. Deklarieren Sie Tomcats RequestDumperFilter in einem beliebigen @Configuration Klasse:

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

Und das ist die Ausgabe:

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 ===============================================================

Verwalten Sie es dann wie ein normales Spring Boot-Protokoll.

37
Xtreme Biker

In Spring Boot 1.5.1 funktioniert das von Dave Syer erwähnte Eigenschaften nicht mehr, stattdessen werden sie umbenannt in:

server.Tomcat.basedir=target/Tomcat-logs
server.Tomcat.accesslog.enabled=true
server.Tomcat.accesslog.pattern=%t %a "%r" %s (%D ms)

Wenn Sie das Projekt in der obigen Konfiguration über das Stammverzeichnis ausführen, ist das Protokoll unter target/Tomcat-logs/log/access_log verfügbar. *

17
gerrytan