public abstract class TracingLogger extends Object
Modifier and Type | Class and Description |
---|---|
static interface |
TracingLogger.Event
Type of event.
|
static class |
TracingLogger.Level
Level of tracing message.
|
Modifier and Type | Field and Description |
---|---|
static TracingLogger.Level |
DEFAULT_LEVEL
Default event level.
|
static String |
HEADER_ACCEPT
Request header name to switch on request tracing.
|
static String |
HEADER_LOGGER
Request header name to set JDK logger name suffix to identify a request logs.
|
static String |
HEADER_THRESHOLD
Request header name to change application default tracing level.
|
static String |
PROPERTY_NAME
TracingLogger instance is placed in request context properties under this name. |
Constructor and Description |
---|
TracingLogger() |
Modifier and Type | Method and Description |
---|---|
static TracingLogger |
create(TracingLogger.Level threshold,
String loggerNameSuffix)
Create new Tracing logger.
|
static TracingLogger |
empty()
Get an empty (no-op) tracing logger instance.
|
abstract void |
flush(MultivaluedMap<String,Object> headers)
Stores collected tracing messages to response HTTP header.
|
static TracingLogger |
getInstance(PropertiesDelegate propertiesDelegate)
Returns instance of
TracingLogger associated with current request processing
(propertiesDelegate ). |
abstract boolean |
isLogEnabled(TracingLogger.Event event)
Test if a tracing support is enabled (according to
propertiesDelegate setting) and
if event can be logged (according to event.level and threshold level set). |
abstract void |
log(TracingLogger.Event event,
Object... args)
Try to log event according to event level and request context threshold level setting.
|
abstract void |
logDuration(TracingLogger.Event event,
long fromTimestamp,
Object... args)
Try to log event according to event level and request context threshold level setting.
|
abstract long |
timestamp(TracingLogger.Event event)
If logging support is switched on for current request and event setting the method returns current timestamp in nanos.
|
public static final String PROPERTY_NAME
TracingLogger
instance is placed in request context properties under this name.public static final String HEADER_THRESHOLD
public static final String HEADER_ACCEPT
public static final String HEADER_LOGGER
public static final TracingLogger.Level DEFAULT_LEVEL
public static TracingLogger getInstance(PropertiesDelegate propertiesDelegate)
TracingLogger
associated with current request processing
(propertiesDelegate
).propertiesDelegate
- request associated runtime properties. Can be null
if not running on server side.TracingLogger
from propertiesDelegate
. Does not return null
.public static TracingLogger create(TracingLogger.Level threshold, String loggerNameSuffix)
threshold
- tracing level threshold.loggerNameSuffix
- tracing logger name suffix.public static TracingLogger empty()
public abstract boolean isLogEnabled(TracingLogger.Event event)
propertiesDelegate
setting) and
if event
can be logged (according to event.level
and threshold level set).event
- event type to be testedtrue
if event
can be loggedpublic abstract void log(TracingLogger.Event event, Object... args)
event
- event type to be loggedargs
- message arguments (in relation to .Event#messageFormat()
public abstract void logDuration(TracingLogger.Event event, long fromTimestamp, Object... args)
fromTimestamp
is not set (i.e. -1
) then duration of event
is 0
.event
- event type to be loggedfromTimestamp
- logged event is running from the timestamp in nanos. -1
in case event has no durationargs
- message arguments (in relation to .Event#messageFormat()
public abstract long timestamp(TracingLogger.Event event)
event
- event type to be logged-1
if tracing is not enabledpublic abstract void flush(MultivaluedMap<String,Object> headers)
headers
- message headers.Copyright © 2007-2023, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.