Class ServerLoggingFilter

  • All Implemented Interfaces:
    javax.ws.rs.container.ContainerRequestFilter, javax.ws.rs.container.ContainerResponseFilter, javax.ws.rs.ext.WriterInterceptor

    @ConstrainedTo(SERVER)
    @PreMatching
    @Priority(-2147483648)
    final class ServerLoggingFilter
    extends LoggingInterceptor
    implements javax.ws.rs.container.ContainerRequestFilter, javax.ws.rs.container.ContainerResponseFilter
    Server filter logs requests and responses to specified logger, at required level, with entity or not.

    The filter is registered in LoggingFeature.configure(FeatureContext) and can be used on server side only. The Priority is set to the maximum value, which means that filter is called as the first filter when request arrives and similarly as the last filter when the response is dispatched, so request and response is logged as arrives or as dispatched.

    • Constructor Detail

      • ServerLoggingFilter

        public ServerLoggingFilter​(java.util.logging.Logger logger,
                                   java.util.logging.Level level,
                                   LoggingFeature.Verbosity verbosity,
                                   int maxEntitySize)
        Create a logging filter with custom logger and custom settings of entity logging.
        Parameters:
        logger - the logger to log messages to.
        level - level at which the messages will be logged.
        verbosity - verbosity of the logged messages. See LoggingFeature.Verbosity.
        maxEntitySize - maximum number of entity bytes to be logged (and buffered) - if the entity is larger, logging filter will print (and buffer in memory) only the specified number of bytes and print "...more..." string at the end. Negative values are interpreted as zero.
    • Method Detail

      • filter

        public void filter​(javax.ws.rs.container.ContainerRequestContext context)
                    throws java.io.IOException
        Specified by:
        filter in interface javax.ws.rs.container.ContainerRequestFilter
        Throws:
        java.io.IOException
      • filter

        public void filter​(javax.ws.rs.container.ContainerRequestContext requestContext,
                           javax.ws.rs.container.ContainerResponseContext responseContext)
                    throws java.io.IOException
        Specified by:
        filter in interface javax.ws.rs.container.ContainerResponseFilter
        Throws:
        java.io.IOException