Class LoggingServiceBuilder
java.lang.Object
com.linecorp.armeria.common.logging.LoggingDecoratorBuilder
com.linecorp.armeria.server.logging.LoggingServiceBuilder
public final class LoggingServiceBuilder extends LoggingDecoratorBuilder
Builds a new
LoggingService
.-
Method Summary
Modifier and Type Method Description LoggingService
build(HttpService delegate)
Returns a newly-createdLoggingService
decoratingHttpService
based on the properties of this builder.LoggingServiceBuilder
contentSanitizer(Function<Object,?> contentSanitizer)
Sets theFunction
to use to sanitize request and response content before logging.LoggingServiceBuilder
failureResponseLogLevel(LogLevel failedResponseLogLevel)
Sets theLogLevel
to use when logging failure responses (e.g., failed with an exception).LoggingServiceBuilder
headersSanitizer(Function<? super HttpHeaders,?> headersSanitizer)
Sets theFunction
to use to sanitize request, response and trailers before logging.LoggingServiceBuilder
logger(Logger logger)
Sets theLogger
to use when logging.Function<? super HttpService,LoggingService>
newDecorator()
Returns a newly-createdLoggingService
decorator based on the properties of this builder.LoggingServiceBuilder
requestContentSanitizer(Function<Object,?> requestContentSanitizer)
Sets theFunction
to use to sanitize request content before logging.LoggingServiceBuilder
requestHeadersSanitizer(Function<? super HttpHeaders,?> requestHeadersSanitizer)
Sets theFunction
to use to sanitize request headers before logging.LoggingServiceBuilder
requestLogLevel(LogLevel requestLogLevel)
Sets theLogLevel
to use when logging requests.LoggingServiceBuilder
requestLogLevelMapper(Function<? super RequestOnlyLog,LogLevel> requestLogLevelMapper)
Sets theFunction
to use when mapping the log level of request logs.LoggingServiceBuilder
requestTrailersSanitizer(Function<? super HttpHeaders,?> requestTrailersSanitizer)
Sets theFunction
to use to sanitize request trailers before logging.LoggingServiceBuilder
responseCauseSanitizer(Function<? super Throwable,?> responseCauseSanitizer)
Sets theFunction
to use to sanitize a response cause before logging.LoggingServiceBuilder
responseContentSanitizer(Function<Object,?> responseContentSanitizer)
Sets theFunction
to use to sanitize response content before logging.LoggingServiceBuilder
responseHeadersSanitizer(Function<? super HttpHeaders,?> responseHeadersSanitizer)
Sets theFunction
to use to sanitize response headers before logging.LoggingServiceBuilder
responseLogLevelMapper(Function<? super RequestLog,LogLevel> responseLogLevelMapper)
Sets theFunction
to use when mapping the log level of response logs.LoggingServiceBuilder
responseTrailersSanitizer(Function<? super HttpHeaders,?> responseTrailersSanitizer)
Sets theFunction
to use to sanitize response trailers before logging.LoggingServiceBuilder
sampler(Sampler<? super ServiceRequestContext> sampler)
Sets theSampler
that determines which request needs logging.LoggingServiceBuilder
samplingRate(float samplingRate)
Sets the rate at which to sample requests to log.LoggingServiceBuilder
successfulResponseLogLevel(LogLevel successfulResponseLogLevel)
Sets theLogLevel
to use when logging successful responses (e.g., no unhandled exception).Methods inherited from class com.linecorp.armeria.common.logging.LoggingDecoratorBuilder
logger, requestContentSanitizer, requestHeadersSanitizer, requestLogLevelMapper, requestTrailersSanitizer, responseCauseSanitizer, responseContentSanitizer, responseHeadersSanitizer, responseLogLevelMapper, responseTrailersSanitizer, toString
-
Method Details
-
sampler
Sets theSampler
that determines which request needs logging. -
samplingRate
Sets the rate at which to sample requests to log. Any number between0.0
and1.0
will cause a random sample of the requests to be logged. -
build
Returns a newly-createdLoggingService
decoratingHttpService
based on the properties of this builder. -
newDecorator
Returns a newly-createdLoggingService
decorator based on the properties of this builder. -
logger
Description copied from class:LoggingDecoratorBuilder
- Overrides:
logger
in classLoggingDecoratorBuilder
-
requestLogLevel
Description copied from class:LoggingDecoratorBuilder
Sets theLogLevel
to use when logging requests. If unset, will useLogLevel.TRACE
.- Overrides:
requestLogLevel
in classLoggingDecoratorBuilder
-
successfulResponseLogLevel
Description copied from class:LoggingDecoratorBuilder
Sets theLogLevel
to use when logging successful responses (e.g., no unhandled exception). If unset, will useLogLevel.TRACE
.- Overrides:
successfulResponseLogLevel
in classLoggingDecoratorBuilder
-
failureResponseLogLevel
Description copied from class:LoggingDecoratorBuilder
Sets theLogLevel
to use when logging failure responses (e.g., failed with an exception). If unset, will useLogLevel.WARN
. The request will be logged too if it was not otherwise.- Overrides:
failureResponseLogLevel
in classLoggingDecoratorBuilder
-
requestLogLevelMapper
public LoggingServiceBuilder requestLogLevelMapper(Function<? super RequestOnlyLog,LogLevel> requestLogLevelMapper)Description copied from class:LoggingDecoratorBuilder
Sets theFunction
to use when mapping the log level of request logs.- Overrides:
requestLogLevelMapper
in classLoggingDecoratorBuilder
-
responseLogLevelMapper
public LoggingServiceBuilder responseLogLevelMapper(Function<? super RequestLog,LogLevel> responseLogLevelMapper)Description copied from class:LoggingDecoratorBuilder
Sets theFunction
to use when mapping the log level of response logs.- Overrides:
responseLogLevelMapper
in classLoggingDecoratorBuilder
-
requestHeadersSanitizer
public LoggingServiceBuilder requestHeadersSanitizer(Function<? super HttpHeaders,?> requestHeadersSanitizer)Description copied from class:LoggingDecoratorBuilder
Sets theFunction
to use to sanitize request headers before logging. It is common to have theFunction
that removes sensitive headers, likeCookie
, before logging. If unset, will useFunction.identity()
.- Overrides:
requestHeadersSanitizer
in classLoggingDecoratorBuilder
-
responseHeadersSanitizer
public LoggingServiceBuilder responseHeadersSanitizer(Function<? super HttpHeaders,?> responseHeadersSanitizer)Description copied from class:LoggingDecoratorBuilder
Sets theFunction
to use to sanitize response headers before logging. It is common to have theFunction
that removes sensitive headers, likeSet-Cookie
, before logging. If unset, will useFunction.identity()
.- Overrides:
responseHeadersSanitizer
in classLoggingDecoratorBuilder
-
requestTrailersSanitizer
public LoggingServiceBuilder requestTrailersSanitizer(Function<? super HttpHeaders,?> requestTrailersSanitizer)Description copied from class:LoggingDecoratorBuilder
Sets theFunction
to use to sanitize request trailers before logging. If unset, will useFunction.identity()
.- Overrides:
requestTrailersSanitizer
in classLoggingDecoratorBuilder
-
responseTrailersSanitizer
public LoggingServiceBuilder responseTrailersSanitizer(Function<? super HttpHeaders,?> responseTrailersSanitizer)Description copied from class:LoggingDecoratorBuilder
Sets theFunction
to use to sanitize response trailers before logging. If unset, will useFunction.identity()
.- Overrides:
responseTrailersSanitizer
in classLoggingDecoratorBuilder
-
headersSanitizer
Description copied from class:LoggingDecoratorBuilder
Sets theFunction
to use to sanitize request, response and trailers before logging. It is common to have theFunction
that removes sensitive headers, like"Cookie"
and"Set-Cookie"
, before logging. This method is a shortcut for:builder.requestHeadersSanitizer(headersSanitizer); builder.requestTrailersSanitizer(headersSanitizer); builder.responseHeadersSanitizer(headersSanitizer); builder.responseTrailersSanitizer(headersSanitizer);
- Overrides:
headersSanitizer
in classLoggingDecoratorBuilder
- See Also:
LoggingDecoratorBuilder.requestHeadersSanitizer(Function)
,LoggingDecoratorBuilder.requestTrailersSanitizer(Function)
,LoggingDecoratorBuilder.responseHeadersSanitizer(Function)
,LoggingDecoratorBuilder.responseTrailersSanitizer(Function)
-
requestContentSanitizer
Description copied from class:LoggingDecoratorBuilder
Sets theFunction
to use to sanitize request content before logging. It is common to have theFunction
that removes sensitive content, such as an GPS location query, before logging. If unset, will useFunction.identity()
.- Overrides:
requestContentSanitizer
in classLoggingDecoratorBuilder
-
responseContentSanitizer
public LoggingServiceBuilder responseContentSanitizer(Function<Object,?> responseContentSanitizer)Description copied from class:LoggingDecoratorBuilder
Sets theFunction
to use to sanitize response content before logging. It is common to have theFunction
that removes sensitive content, such as an address, before logging. If unset, will useFunction.identity()
.- Overrides:
responseContentSanitizer
in classLoggingDecoratorBuilder
-
contentSanitizer
Description copied from class:LoggingDecoratorBuilder
Sets theFunction
to use to sanitize request and response content before logging. It is common to have theFunction
that removes sensitive content, such as an GPS location query and an address, before logging. If unset, will useFunction.identity()
. This method is a shortcut for:builder.requestContentSanitizer(contentSanitizer); builder.responseContentSanitizer(contentSanitizer);
-
responseCauseSanitizer
public LoggingServiceBuilder responseCauseSanitizer(Function<? super Throwable,?> responseCauseSanitizer)Description copied from class:LoggingDecoratorBuilder
Sets theFunction
to use to sanitize a response cause before logging. You can sanitize the stack trace of the exception to remove sensitive information, or prevent from logging the stack trace completely by returningnull
in theFunction
. If unset, will useFunction.identity()
.- Overrides:
responseCauseSanitizer
in classLoggingDecoratorBuilder
-