Class LoggingDecoratorBuilder
java.lang.Object
com.linecorp.armeria.common.logging.LoggingDecoratorBuilder
- Direct Known Subclasses:
LoggingClientBuilder
,LoggingRpcClientBuilder
,LoggingServiceBuilder
Builds a new logging decorator.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncontentSanitizer
(BiFunction<? super RequestContext, Object, ? extends @Nullable Object> contentSanitizer) Sets theBiFunction
to use to sanitize request and response content before logging.failureResponseLogLevel
(LogLevel failedResponseLogLevel) Sets theLogLevel
to use when logging failure responses (e.g., failed with an exception).headersSanitizer
(BiFunction<? super RequestContext, ? super HttpHeaders, ? extends @Nullable Object> headersSanitizer) Sets theBiFunction
to use to sanitize request, response and trailers before logging.logger()
Returns theLogger
the user specified to use, ornull
if not set and a default logger should be used.Sets the name of theLogger
to use when logging.Sets theLogger
to use when logging.protected final BiFunction<? super RequestContext,
Object, ? extends @Nullable Object> Returns theBiFunction
to use to sanitize request content before logging.requestContentSanitizer
(BiFunction<? super RequestContext, Object, ? extends @Nullable Object> requestContentSanitizer) Sets theBiFunction
to use to sanitize request content before logging.protected final BiFunction<? super RequestContext,
? super HttpHeaders, ? extends @Nullable Object> Returns theBiFunction
to use to sanitize request headers before logging.requestHeadersSanitizer
(BiFunction<? super RequestContext, ? super HttpHeaders, ? extends @Nullable Object> requestHeadersSanitizer) Sets theBiFunction
to use to sanitize request headers before logging.requestLogLevel
(LogLevel requestLogLevel) Sets theLogLevel
to use when logging requests.requestLogLevel
(Class<? extends Throwable> clazz, LogLevel requestLogLevel) protected final RequestLogLevelMapper
Returns theRequestLogLevelMapper
to use when logging request logs.requestLogLevelMapper
(RequestLogLevelMapper requestLogLevelMapper) Sets theRequestLogLevelMapper
to use when mapping the log level of request logs.requestLogLevelMapper
(Function<? super RequestOnlyLog, LogLevel> requestLogLevelMapper) Deprecated.protected final BiFunction<? super RequestContext,
? super HttpHeaders, ? extends @Nullable Object> Returns theBiFunction
to use to sanitize request trailers before logging.requestTrailersSanitizer
(BiFunction<? super RequestContext, ? super HttpHeaders, ? extends @Nullable Object> requestTrailersSanitizer) Sets theBiFunction
to use to sanitize request trailers before logging.protected final BiFunction<? super RequestContext,
? super Throwable, ? extends @Nullable Object> Returns theBiFunction
to use to sanitize response cause before logging.responseCauseSanitizer
(BiFunction<? super RequestContext, ? super Throwable, ? extends @Nullable Object> responseCauseSanitizer) Sets theBiFunction
to use to sanitize a response cause before logging.protected final BiFunction<? super RequestContext,
Object, ? extends @Nullable Object> Returns theBiFunction
to use to sanitize response content before logging.responseContentSanitizer
(BiFunction<? super RequestContext, Object, ? extends @Nullable Object> responseContentSanitizer) Sets theBiFunction
to use to sanitize response content before logging.protected final BiFunction<? super RequestContext,
? super HttpHeaders, ? extends @Nullable Object> Returns theBiFunction
to use to sanitize response headers before logging.responseHeadersSanitizer
(BiFunction<? super RequestContext, ? super HttpHeaders, ? extends @Nullable Object> responseHeadersSanitizer) Sets theBiFunction
to use to sanitize response headers before logging.responseLogLevel
(HttpStatusClass statusClass, LogLevel logLevel) Sets theLogLevel
to use when logging responses whose status belongs to the specifiedHttpStatusClass
.responseLogLevel
(HttpStatus status, LogLevel logLevel) Sets theLogLevel
to use when logging responses whose status is equal to the specifiedHttpStatus
.responseLogLevel
(Class<? extends Throwable> clazz, LogLevel logLevel) protected final ResponseLogLevelMapper
Returns theResponseLogLevelMapper
to use when logging response logs.responseLogLevelMapper
(ResponseLogLevelMapper responseLogLevelMapper) Sets theResponseLogLevelMapper
to use when mapping the log level of response logs.responseLogLevelMapper
(Function<? super RequestLog, LogLevel> responseLogLevelMapper) Deprecated.UseresponseLogLevelMapper(ResponseLogLevelMapper)
instead.protected final BiFunction<? super RequestContext,
? super HttpHeaders, ? extends @Nullable Object> Returns theFunction
to use to sanitize response trailers before logging.responseTrailersSanitizer
(BiFunction<? super RequestContext, ? super HttpHeaders, ? extends @Nullable Object> responseTrailersSanitizer) Sets theBiFunction
to use to sanitize response trailers before logging.successfulResponseLogLevel
(LogLevel successfulResponseLogLevel) Sets theLogLevel
to use when logging successful responses (e.g., no unhandled exception).toString()
-
Constructor Details
-
LoggingDecoratorBuilder
public LoggingDecoratorBuilder()
-
-
Method Details
-
logger
-
logger
Sets the name of theLogger
to use when logging. This method is a shortcut forthis.logger(LoggerFactory.getLogger(loggerName))
. -
logger
Returns theLogger
the user specified to use, ornull
if not set and a default logger should be used. -
requestLogLevel
Sets theLogLevel
to use when logging requests. If unset, will useLogLevel.DEBUG
. -
requestLogLevel
public LoggingDecoratorBuilder requestLogLevel(Class<? extends Throwable> clazz, LogLevel requestLogLevel) -
requestLogLevelMapper
@Deprecated public LoggingDecoratorBuilder requestLogLevelMapper(Function<? super RequestOnlyLog, LogLevel> requestLogLevelMapper) Deprecated.UserequestLogLevelMapper(RequestLogLevelMapper)
instead.Sets theFunction
to use when mapping the log level of request logs. -
requestLogLevelMapper
@UnstableApi public LoggingDecoratorBuilder requestLogLevelMapper(RequestLogLevelMapper requestLogLevelMapper) Sets theRequestLogLevelMapper
to use when mapping the log level of request logs. -
requestLogLevelMapper
Returns theRequestLogLevelMapper
to use when logging request logs. -
responseLogLevel
Sets theLogLevel
to use when logging responses whose status is equal to the specifiedHttpStatus
. -
responseLogLevel
@UnstableApi public LoggingDecoratorBuilder responseLogLevel(HttpStatusClass statusClass, LogLevel logLevel) Sets theLogLevel
to use when logging responses whose status belongs to the specifiedHttpStatusClass
. -
responseLogLevel
@UnstableApi public LoggingDecoratorBuilder responseLogLevel(Class<? extends Throwable> clazz, LogLevel logLevel) -
successfulResponseLogLevel
Sets theLogLevel
to use when logging successful responses (e.g., no unhandled exception).LogLevel.DEBUG
will be used by default. -
failureResponseLogLevel
Sets theLogLevel
to use when logging failure responses (e.g., failed with an exception).LogLevel.WARN
will be used by default. -
responseLogLevelMapper
@Deprecated public LoggingDecoratorBuilder responseLogLevelMapper(Function<? super RequestLog, LogLevel> responseLogLevelMapper) Deprecated.UseresponseLogLevelMapper(ResponseLogLevelMapper)
instead.Sets theFunction
to use when mapping the log level of response logs. -
responseLogLevelMapper
@UnstableApi public LoggingDecoratorBuilder responseLogLevelMapper(ResponseLogLevelMapper responseLogLevelMapper) Sets theResponseLogLevelMapper
to use when mapping the log level of response logs. -
responseLogLevelMapper
Returns theResponseLogLevelMapper
to use when logging response logs. -
requestHeadersSanitizer
public LoggingDecoratorBuilder requestHeadersSanitizer(BiFunction<? super RequestContext, ? super HttpHeaders, ? extends @Nullable Object> requestHeadersSanitizer) Sets theBiFunction
to use to sanitize request headers before logging. It is common to have theBiFunction
that removes sensitive headers, likeCookie
, before logging. If unset, will not sanitize request headers. -
requestHeadersSanitizer
protected final BiFunction<? super RequestContext,? super HttpHeaders, requestHeadersSanitizer()? extends @Nullable Object> Returns theBiFunction
to use to sanitize request headers before logging. -
responseHeadersSanitizer
public LoggingDecoratorBuilder responseHeadersSanitizer(BiFunction<? super RequestContext, ? super HttpHeaders, ? extends @Nullable Object> responseHeadersSanitizer) Sets theBiFunction
to use to sanitize response headers before logging. It is common to have theBiFunction
that removes sensitive headers, likeSet-Cookie
, before logging. If unset, will not sanitize response headers. -
responseHeadersSanitizer
protected final BiFunction<? super RequestContext,? super HttpHeaders, responseHeadersSanitizer()? extends @Nullable Object> Returns theBiFunction
to use to sanitize response headers before logging. -
requestTrailersSanitizer
public LoggingDecoratorBuilder requestTrailersSanitizer(BiFunction<? super RequestContext, ? super HttpHeaders, ? extends @Nullable Object> requestTrailersSanitizer) Sets theBiFunction
to use to sanitize request trailers before logging. If unset, will not sanitize request trailers. -
requestTrailersSanitizer
protected final BiFunction<? super RequestContext,? super HttpHeaders, requestTrailersSanitizer()? extends @Nullable Object> Returns theBiFunction
to use to sanitize request trailers before logging. -
responseTrailersSanitizer
public LoggingDecoratorBuilder responseTrailersSanitizer(BiFunction<? super RequestContext, ? super HttpHeaders, ? extends @Nullable Object> responseTrailersSanitizer) Sets theBiFunction
to use to sanitize response trailers before logging. If unset, will not sanitize response trailers. -
responseTrailersSanitizer
protected final BiFunction<? super RequestContext,? super HttpHeaders, responseTrailersSanitizer()? extends @Nullable Object> Returns theFunction
to use to sanitize response trailers before logging. -
headersSanitizer
public LoggingDecoratorBuilder headersSanitizer(BiFunction<? super RequestContext, ? super HttpHeaders, ? extends @Nullable Object> headersSanitizer) Sets theBiFunction
to use to sanitize request, response and trailers before logging. It is common to have theBiFunction
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);
-
requestContentSanitizer
public LoggingDecoratorBuilder requestContentSanitizer(BiFunction<? super RequestContext, Object, ? extends @Nullable Object> requestContentSanitizer) Sets theBiFunction
to use to sanitize request content before logging. It is common to have theBiFunction
that removes sensitive content, such as an GPS location query, before logging. If unset, will not sanitize request content. -
requestContentSanitizer
protected final BiFunction<? super RequestContext,Object, requestContentSanitizer()? extends @Nullable Object> Returns theBiFunction
to use to sanitize request content before logging. -
responseContentSanitizer
public LoggingDecoratorBuilder responseContentSanitizer(BiFunction<? super RequestContext, Object, ? extends @Nullable Object> responseContentSanitizer) Sets theBiFunction
to use to sanitize response content before logging. It is common to have theBiFunction
that removes sensitive content, such as an address, before logging. If unset, will not sanitize response content. -
responseContentSanitizer
protected final BiFunction<? super RequestContext,Object, responseContentSanitizer()? extends @Nullable Object> Returns theBiFunction
to use to sanitize response content before logging. -
contentSanitizer
public LoggingDecoratorBuilder contentSanitizer(BiFunction<? super RequestContext, Object, ? extends @Nullable Object> contentSanitizer) Sets theBiFunction
to use to sanitize request and response content before logging. It is common to have theBiFunction
that removes sensitive content, such as an GPS location query and an address, before logging. If unset, will not sanitize content. This method is a shortcut for:builder.requestContentSanitizer(contentSanitizer); builder.responseContentSanitizer(contentSanitizer);
-
responseCauseSanitizer
public LoggingDecoratorBuilder responseCauseSanitizer(BiFunction<? super RequestContext, ? super Throwable, ? extends @Nullable Object> responseCauseSanitizer) Sets theBiFunction
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 theBiFunction
. If unset, will not sanitize a response cause. -
responseCauseSanitizer
protected final BiFunction<? super RequestContext,? super Throwable, responseCauseSanitizer()? extends @Nullable Object> Returns theBiFunction
to use to sanitize response cause before logging. -
toString
-
requestLogLevelMapper(RequestLogLevelMapper)
instead.