Class LoggingInterceptor
java.lang.Object
ca.uhn.fhir.rest.server.interceptor.LoggingInterceptor
Server interceptor which logs each request using a defined format
The following substitution variables are supported:
${id} | The resource ID associated with this request (or "" if none) |
${idOrResourceName} | The resource ID associated with this request, or the resource name if the request applies to a type but not an instance, or "" otherwise |
${operationName} | If the request is an extended operation (e.g. "$validate") this value will be the operation name, or "" otherwise |
${requestId} | The request ID assigned to this request (either automatically, or via the X-Request-ID header in the request) |
${operationType} | A code indicating the operation type for this request, e.g. "read", "history-instance", "extended-operation-instance", etc.) |
${remoteAddr} | The originating IP of the request |
${requestHeader.XXXX} | The value of the HTTP request header named XXXX. For example, a substitution variable named "${requestHeader.x-forwarded-for} will yield the value of the first header named "x-forwarded-for ", or "" if none. |
${requestParameters} | The HTTP request parameters (or "") |
${responseEncodingNoDefault} | The encoding format requested by the client via the _format parameter or the Accept header. Value will be "json" or "xml", or "" if the client did not explicitly request a format |
${servletPath} | The part of thre requesting URL that corresponds to the particular Servlet being called (see
HttpServletRequest.getServletPath() ) |
${requestBodyFhir} | The complete body of the request if the request has a FHIR content-type (this can be quite large!). Will emit an empty string if the content type is not a FHIR content type |
${requestUrl} | The complete URL of the request |
${requestVerb} | The HTTP verb of the request |
${exceptionMessage} | Applies only to an error message: The message from Throwable.getMessage() |
${processingTimeMillis} | The number of milliseconds spen processing this request |
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionGet the log message format to be used when logging exceptionsboolean
handleException
(RequestDetails theRequestDetails, ca.uhn.fhir.rest.server.exceptions.BaseServerResponseException theException, jakarta.servlet.http.HttpServletRequest theServletRequest, jakarta.servlet.http.HttpServletResponse theServletResponse) boolean
Should exceptions be logged by this loggervoid
processingCompletedNormally
(ServletRequestDetails theRequestDetails) void
setErrorMessageFormat
(String theErrorMessageFormat) Set the log message format to be used when logging exceptionsvoid
setLogExceptions
(boolean theLogExceptions) Should exceptions be logged by this loggervoid
setLogger
(org.slf4j.Logger theLogger) void
setLoggerName
(String theLoggerName) void
setMessageFormat
(String theMessageFormat) Sets the message format itself.
-
Constructor Details
-
LoggingInterceptor
public LoggingInterceptor()Constructor for server logging interceptor
-
-
Method Details
-
getErrorMessageFormat
Get the log message format to be used when logging exceptions -
handleException
public boolean handleException(RequestDetails theRequestDetails, ca.uhn.fhir.rest.server.exceptions.BaseServerResponseException theException, jakarta.servlet.http.HttpServletRequest theServletRequest, jakarta.servlet.http.HttpServletResponse theServletResponse) throws jakarta.servlet.ServletException, IOException - Throws:
jakarta.servlet.ServletException
IOException
-
processingCompletedNormally
-
isLogExceptions
Should exceptions be logged by this logger -
setErrorMessageFormat
Set the log message format to be used when logging exceptions -
setLogExceptions
Should exceptions be logged by this logger -
setLogger
-
setLoggerName
-
setMessageFormat
Sets the message format itself. See theclass documentation
for information on the format
-