Package org.jboss.resteasy.tracing.api
Class RESTEasyTracing
java.lang.Object
org.jboss.resteasy.tracing.api.RESTEasyTracing
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final RESTEasyTracingLevelDefault event level.protected static final StringDefault JDK logger name suffix.static final StringRequest header name to switch on request tracing.static final StringRequest header name to indicate the tracing info format.static final StringRequest header name to set JDK logger name suffix to identify a request logs.protected static final StringResponse header name format.static final StringRequest header name to change application default tracing level.static final StringHTTP header prefix.static final StringTracingLoggerinstance is placed in request context properties under this name.protected static final StringJDK logger name prefix. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract booleanisLogEnabled(RESTEasyTracingEvent event) Test if a tracing support is enabled ifeventcan be logged (according to event.level and threshold level set).abstract voidlog(RESTEasyTracingEvent event, Object... args) Try to log event according to event level and request context threshold level setting.abstract voidlogDuration(RESTEasyTracingEvent event, long fromTimestamp, Object... args) Try to log event according to event level and request context threshold level setting.abstract longtimestamp(RESTEasyTracingEvent event) If logging support is switched on for current request and event setting the method returns current timestamp in nanos.
-
Field Details
-
PROPERTY_NAME
TracingLoggerinstance is placed in request context properties under this name. -
HEADER_TRACING_PREFIX
HTTP header prefix.- See Also:
-
HEADER_THRESHOLD
Request header name to change application default tracing level.- See Also:
-
HEADER_ACCEPT
Request header name to switch on request tracing. Make sense in case of tracing support enabled by ON_DEMAND value.- See Also:
-
HEADER_ACCEPT_FORMAT
Request header name to indicate the tracing info format. Currently we support `TEXT` format and `JSON` format.- See Also:
-
HEADER_LOGGER
Request header name to set JDK logger name suffix to identify a request logs.- See Also:
-
HEADER_RESPONSE_FORMAT
Response header name format.- See Also:
-
DEFAULT_LEVEL
Default event level. -
TRACING_LOGGER_NAME_PREFIX
JDK logger name prefix.- See Also:
-
DEFAULT_LOGGER_NAME_SUFFIX
Default JDK logger name suffix. This can be overwrite by headerHEADER_LOGGER.- See Also:
-
-
Constructor Details
-
RESTEasyTracing
public RESTEasyTracing()
-
-
Method Details
-
isLogEnabled
Test if a tracing support is enabled ifeventcan be logged (according to event.level and threshold level set).- Parameters:
event- event type to be tested- Returns:
trueifeventcan be logged
-
log
Try to log event according to event level and request context threshold level setting.- Parameters:
event- event type to be loggedargs- message arguments (in relation toRESTEasyTracingEvent.messageFormat()
-
logDuration
Try to log event according to event level and request context threshold level setting.If logging support is switched on for current request and event setting the method computes duration of event and log message. If
fromTimestampis not set (i.e.-1) then duration of event is0.- Parameters:
event- event type to be loggedfromTimestamp- logged event is running from the timestamp in nanos.-1in case event has no durationargs- message arguments (in relation toRESTEasyTracingEvent.messageFormat()
-
timestamp
If logging support is switched on for current request and event setting the method returns current timestamp in nanos.- Parameters:
event- event type to be logged- Returns:
- Current timestamp in nanos or
-1if tracing is not enabled
-