Tracing is automatically enabled for all HTTP requests. You can view the trace endpoint
and obtain basic information about the last 100 requests:
[{ "timestamp": 1394343677415, "info": { "method": "GET", "path": "/trace", "headers": { "request": { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Connection": "keep-alive", "Accept-Encoding": "gzip, deflate", "User-Agent": "Mozilla/5.0 Gecko/Firefox", "Accept-Language": "en-US,en;q=0.5", "Cookie": "_ga=GA1.1.827067509.1390890128; ..." "Authorization": "Basic ...", "Host": "localhost:8080" }, "response": { "Strict-Transport-Security": "max-age=31536000 ; includeSubDomains", "X-Application-Context": "application:8080", "Content-Type": "application/json;charset=UTF-8", "status": "200" } } } },{ "timestamp": 1394343684465, ... }]
The following are included in the trace by default:
| Name | Description |
|---|---|
Request Headers | Headers from the request. |
Response Headers | Headers from the response. |
Cookies |
|
Errors | The error attributes (if any). |
Time Taken | The time taken to service the request in milliseconds. |
If you need to trace additional events you can inject a
TraceRepository into your
Spring beans. The add method accepts a single Map structure that will be converted to
JSON and logged.
By default an InMemoryTraceRepository will be used that stores the last 100 events. You
can define your own instance of the InMemoryTraceRepository bean if you need to expand
the capacity. You can also create your own alternative TraceRepository implementation
if needed.