I have a HTTP API implemented using JAX-RS and running on Tomcat. Is there a way to automatically and concisely log every HTTP request so that I don't need to do it manually on every JAX-RS resource class method? I'm looking for a log like:
/item/1 GET 200
/item POST 500
I tried to enable RequestDumpFilter, but I get a very verbose log for each HTTP request. For instance, a HTTP request that returned an error logs:
02-Jun-2021 15:09:57.417 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 requestURI=/
02-Jun-2021 15:09:57.417 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 authType=null
02-Jun-2021 15:09:57.417 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 characterEncoding=null
02-Jun-2021 15:09:57.417 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 contentLength=-1
02-Jun-2021 15:09:57.417 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 contentType=null
02-Jun-2021 15:09:57.418 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 contextPath=
02-Jun-2021 15:09:57.419 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 cookie=csrftoken=my-csrf-token
02-Jun-2021 15:09:57.419 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 cookie=sessionid=kxm3lt8q2p7faeur88xrvxm4gdtpy66u
02-Jun-2021 15:09:57.420 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 header=host=localhost:8080
02-Jun-2021 15:09:57.420 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 header=connection=keep-alive
02-Jun-2021 15:09:57.420 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 header=sec-ch-ua=" Not A;Brand";v="99", "Chromium";v="90", "Google Chrome";v="90"
02-Jun-2021 15:09:57.421 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 header=sec-ch-ua-mobile=?0
02-Jun-2021 15:09:57.421 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 header=upgrade-insecure-requests=1
02-Jun-2021 15:09:57.421 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 header=user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
02-Jun-2021 15:09:57.421 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 header=accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
02-Jun-2021 15:09:57.421 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 header=sec-fetch-site=none
02-Jun-2021 15:09:57.422 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 header=sec-fetch-mode=navigate
02-Jun-2021 15:09:57.422 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 header=sec-fetch-user=?1
02-Jun-2021 15:09:57.422 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 header=sec-fetch-dest=document
02-Jun-2021 15:09:57.422 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 header=accept-encoding=gzip, deflate
02-Jun-2021 15:09:57.422 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 header=accept-language=en-US,en;q=0.9,it;q=0.8,es;q=0.7,la;q=0.6
02-Jun-2021 15:09:57.423 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 header=cookie=csrftoken=wzBTPrn8SL46udrJo3E9LAjsGed9SpPr3AwhTtgNntM9gCEGEATfMsIK3bVkAjhf; sessionid=kxm3lt8q2p7faeur88xrvxm4gdtpy66u
02-Jun-2021 15:09:57.424 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 locale=en_US
02-Jun-2021 15:09:57.424 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 method=GET
02-Jun-2021 15:09:57.425 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 pathInfo=null
02-Jun-2021 15:09:57.425 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 protocol=HTTP/1.1
02-Jun-2021 15:09:57.425 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 queryString=null
02-Jun-2021 15:09:57.425 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 remoteAddr=10.0.2.2
02-Jun-2021 15:09:57.425 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 remoteHost=10.0.2.2
02-Jun-2021 15:09:57.425 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 remoteUser=null
02-Jun-2021 15:09:57.425 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 requestedSessionId=null
02-Jun-2021 15:09:57.425 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 scheme=http
02-Jun-2021 15:09:57.425 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 serverName=localhost
02-Jun-2021 15:09:57.426 INFO [http-nio-8080-exec-1] org.apache.catalina.filters.RequestDumperFilter.doLog http-nio-8080-exec-1 serverPort=8080
You are looking for what we call an "access log".
You basically have 2 options:
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.