Package org.glassfish.tyrus.core
Class DebugContext
- java.lang.Object
-
- org.glassfish.tyrus.core.DebugContext
-
public class DebugContext extends java.lang.ObjectALoggerwrapper that gives logging records a common formatting and temporarily stores log records and postpones their logging until they can be provided with a session ID. After a session ID has been provided, messages are logged immediately.Log records are provided with a session ID, so that log records from a single upgrade request can be easily linked together in a log of a busy server or client.
- Author:
- Petr Janouch
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDebugContext.TracingThresholdTracing threshold - used for configuration granularity of information that will be sent in tracing headers.static classDebugContext.TracingTypeType of tracing - used for tracing configuration.static classDebugContext.TypeType of the record - used to graphically distinguish these message types in the log.
-
Constructor Summary
Constructors Constructor Description DebugContext()Constructor that configures tracing to be OFF.DebugContext(DebugContext.TracingThreshold tracingThreshold)Constructor that configures tracing to be ON and accepts tracing threshold as a parameter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidappendLogMessage(java.util.logging.Logger logger, java.util.logging.Level loggingLevel, DebugContext.Type type, java.lang.Object... messageParts)Append a message to the log, the logging will be postponed until the message can be provided with a session ID.voidappendLogMessageWithThrowable(java.util.logging.Logger logger, java.util.logging.Level loggingLevel, DebugContext.Type type, java.lang.Throwable t, java.lang.Object... messageParts)Append a message to the log, the logging will be postponed until the message can be provided with a session ID.voidappendStandardOutputMessage(DebugContext.Type type, java.lang.String message)Write a message to the standard output, the logging will be postponed until the message can be provided with a session ID.voidappendTraceMessage(java.util.logging.Logger logger, java.util.logging.Level loggingLevel, DebugContext.Type type, java.lang.Object... messageParts)Append a message to the log and to the list of trace messages that are sent in handshake response.voidappendTraceMessageWithThrowable(java.util.logging.Logger logger, java.util.logging.Level loggingLevel, DebugContext.Type type, java.lang.Throwable t, java.lang.Object... messageParts)Append a message to the log and to the list of trace messages that are sent in handshake response.voidflush()Write pending messages to the log.java.util.Map<java.lang.String,java.util.List<java.lang.String>>getTracingHeaders()Get headers containing tracing messages.voidsetSessionId(java.lang.String sessionId)Set a session ID that will be used as a common identifier for logged messages related to the same upgrade request.
-
-
-
Constructor Detail
-
DebugContext
public DebugContext(DebugContext.TracingThreshold tracingThreshold)
Constructor that configures tracing to be ON and accepts tracing threshold as a parameter.- Parameters:
tracingThreshold- tracing threshold.
-
DebugContext
public DebugContext()
Constructor that configures tracing to be OFF.
-
-
Method Detail
-
appendLogMessage
public void appendLogMessage(java.util.logging.Logger logger, java.util.logging.Level loggingLevel, DebugContext.Type type, java.lang.Object... messageParts)Append a message to the log, the logging will be postponed until the message can be provided with a session ID. Randomly generated session ID is used if a session has not been created.- Parameters:
logger- logger to be used to log the message.loggingLevel- message level.type- type of the message.messageParts- message parts that will be concatenated to create a log message.
-
appendTraceMessage
public void appendTraceMessage(java.util.logging.Logger logger, java.util.logging.Level loggingLevel, DebugContext.Type type, java.lang.Object... messageParts)Append a message to the log and to the list of trace messages that are sent in handshake response. The logging will be postponed until the message can be provided with a session ID. Randomly generated session ID is used if a session has not been created.- Parameters:
logger- logger to be used to log the message.loggingLevel- message level.type- type of the message.messageParts- message parts that will be stringified and concatenated to create a log message.
-
appendLogMessageWithThrowable
public void appendLogMessageWithThrowable(java.util.logging.Logger logger, java.util.logging.Level loggingLevel, DebugContext.Type type, java.lang.Throwable t, java.lang.Object... messageParts)Append a message to the log, the logging will be postponed until the message can be provided with a session ID. Randomly generated session ID is used if a session has not been created.- Parameters:
logger- logger to be used to log the message.loggingLevel- message level.type- type of the message.t- throwable that has been thrown.messageParts- message parts that will be stringified and concatenated to create a log message.
-
appendTraceMessageWithThrowable
public void appendTraceMessageWithThrowable(java.util.logging.Logger logger, java.util.logging.Level loggingLevel, DebugContext.Type type, java.lang.Throwable t, java.lang.Object... messageParts)Append a message to the log and to the list of trace messages that are sent in handshake response. The logging will be postponed until the message can be provided with a session ID. Randomly generated session ID is used if a session has not been created.- Parameters:
logger- logger to be used to log the message.loggingLevel- message level.type- type of the message.t- throwable that has been thrown.messageParts- message parts that will be stringified and concatenated to create a log message.
-
appendStandardOutputMessage
public void appendStandardOutputMessage(DebugContext.Type type, java.lang.String message)
Write a message to the standard output, the logging will be postponed until the message can be provided with a session ID. Randomly generated session ID is used if a session has not been created.- Parameters:
message- message to be logged.type- type of the message.
-
setSessionId
public void setSessionId(java.lang.String sessionId)
Set a session ID that will be used as a common identifier for logged messages related to the same upgrade request. Setting the session ID will cause the pending messages to be written into the log.- Parameters:
sessionId- session ID.
-
flush
public void flush()
Write pending messages to the log.
-
getTracingHeaders
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getTracingHeaders()
Get headers containing tracing messages.- Returns:
- tracing headers.
-
-