Class LogAndTraceBroker
java.lang.Object
org.sblim.cimclient.internal.logging.LogAndTraceBroker
Class LogAndTraceBroker is the central class that implements the logging and
tracing of the CIM Client. It manages the collections of the internal log and
trace listeners. It sets up the application independent logging. It provides
the API to send log and trace messages and forwards them to the appropriate
listeners.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addCIMXMLTraceListener
(CIMXMLTraceListener pListener) Adds a listener for CIM-XML trace messages.void
addLogListener
(LogListener pListener) Adds a listener for log messages.void
addTraceListener
(TraceListener pListener) Adds a listener for log messages.void
Removes all CIM-XML trace listeners.void
Removes all listeners.void
Removes all listeners.void
entry()
Forwards a method entry message to the registered trace listeners.void
exit()
Forwards a method exit message to the registered trace listeners.protected void
finalize()
static LogAndTraceBroker
Returns the singleton instance of the brokerGets the registered CIM-XML trace listeners.Gets the registered log listeners including the internal console and file loggers.Gets the registered trace listeners including the internal console and file loggers.Returns the output stream to which all CIM-XML traffic (outgoing & incoming) will be copied for debugging purposes.boolean
isLoggableCIMXMLTrace
(Level pLevel) Checks whether there are CIM-XML trace listeners installed that will log a CIM-XML trace message.boolean
isLoggableMessage
(Level pLevel) Checks whether there are log listeners installed that will log a message with the specified level.boolean
isLoggableTrace
(Level pLevel) Checks whether there are trace listeners installed that will log a trace message with the specified level.static boolean
Returns if the logging framework has been initialized.void
Forwards a log/trace message to the registered loginvalid input: '&trace' listeners.void
Forwards a log/trace message to the registered loginvalid input: '&trace' listeners.void
Forwards a log/trace message to the registered loginvalid input: '&trace' listeners.void
Registers the listeners for our internal loggersvoid
removeCIMXMLTraceListener
(CIMXMLTraceListener pListener) Removes a CIM-XML trace listener.void
removeLogListener
(LogListener pListener) Remove a listener.void
removeTraceListener
(TraceListener pListener) Removes a listener.void
setXmlTraceStream
(OutputStream pStream) Sets an output stream to which all CIM-XML traffic (outgoing & incoming) will be copied for debugging purposes.void
Forwards a trace message to the registered trace listeners.void
Forwards a trace message to the registered trace listeners.void
traceCIMXML
(Level pLevel, String pMessage, boolean pOutgoing) Forwards a CIM-XML trace message to the registered CIM-XML trace listeners.
-
Method Details
-
getBroker
Returns the singleton instance of the broker- Returns:
- The broker instance
-
isLoggingStarted
public static boolean isLoggingStarted()Returns if the logging framework has been initialized. This method is used by theWBEMConfiguration
class to determine if the logging is already up. TheWBEMConfiguration
is initialized before the logging, so methods in this class cannot assume the logging to be up and running.- Returns:
true
if the logging is up,false
otherwise
-
finalize
-
registerInternalListeners
public void registerInternalListeners()Registers the listeners for our internal loggers -
addLogListener
Adds a listener for log messages. The listener will be notified of any log event. Uses copy on write to ensure concurrent read access.- Parameters:
pListener
- The listener
-
removeLogListener
Remove a listener. This listener will not be notified of log events anymore.- Parameters:
pListener
- The listener
-
clearLogListeners
public void clearLogListeners()Removes all listeners. Caution this will also remove the internal console and file loggers. -
getLogListeners
Gets the registered log listeners including the internal console and file loggers.- Returns:
- The list of listeners
-
addTraceListener
Adds a listener for log messages. The listener will be notified of any trace event.- Parameters:
pListener
- The listener
-
removeTraceListener
Removes a listener. This listener will not be notified of trace events anymore.- Parameters:
pListener
- The listener
-
clearTraceListeners
public void clearTraceListeners()Removes all listeners. Caution this will also remove the internal trace file listener. -
getTraceListeners
Gets the registered trace listeners including the internal console and file loggers.- Returns:
- A list of listeners
-
addCIMXMLTraceListener
Adds a listener for CIM-XML trace messages. The listener will be notified of any CIM-XML trace event.- Parameters:
pListener
- The listener
-
removeCIMXMLTraceListener
Removes a CIM-XML trace listener. This listener will not be notified of CIM-XML trace events anymore.- Parameters:
pListener
- The listener
-
clearCIMXMLTraceListeners
public void clearCIMXMLTraceListeners()Removes all CIM-XML trace listeners. -
getCIMXMLTraceListeners
Gets the registered CIM-XML trace listeners.- Returns:
- A list of listeners
-
message
Forwards a log/trace message to the registered loginvalid input: '&trace' listeners.- Parameters:
pKey
- The message identifier.
-
message
-
message
-
trace
-
trace
-
traceCIMXML
Forwards a CIM-XML trace message to the registered CIM-XML trace listeners.- Parameters:
pLevel
- One of the message level identifiers, e.g. FINEpMessage
- The CIM-XML message textpOutgoing
-true
if CIM-XML is outgoing (being sent from client to server),false
if CIM-XML is incoming (being sent from server to client)
-
entry
public void entry()Forwards a method entry message to the registered trace listeners. -
exit
public void exit()Forwards a method exit message to the registered trace listeners. -
getXmlTraceStream
Returns the output stream to which all CIM-XML traffic (outgoing & incoming) will be copied for debugging purposes.- Returns:
- The output stream. A
null
value means that CIM-XML debugging is disabled
-
setXmlTraceStream
Sets an output stream to which all CIM-XML traffic (outgoing & incoming) will be copied for debugging purposes.- Parameters:
pStream
- The output stream. Anull
value means that CIM-XML debugging is disabled.
-
isLoggableTrace
Checks whether there are trace listeners installed that will log a trace message with the specified level. Use this method to determine if a trace() method call could result in logging before preparing the information to be logged. For example:if (logger.isLoggableTrace(Level.WARNING) { // Prepare info for logging logger.trace(Level.WARNING, ...
- Parameters:
pLevel
- TheLevel
of the trace message.- Returns:
true
if trace message could be logged,false
otherwise.
-
isLoggableMessage
Checks whether there are log listeners installed that will log a message with the specified level. Use this method to determine if a message() method call could result in logging before preparing the information to be logged. For example:if (logger.isLoggableMessage(Level.WARNING) { // Prepare info for logging logger.message(Level.WARNING, ...
- Parameters:
pLevel
- TheLevel
of the message.- Returns:
true
if message could be logged,false
otherwise.
-
isLoggableCIMXMLTrace
Checks whether there are CIM-XML trace listeners installed that will log a CIM-XML trace message. Use this method to determine if a trace() method call could result in logging before preparing the information to be logged. For example:if (logger.isLoggableCIMXMLTrace(Level.FINEST) { // Prepare info for logging logger.traceCIMXML(Level.FINEST, ...
- Parameters:
pLevel
- TheLevel
of the trace message.- Returns:
true
if CIM-XML trace message could be logged,false
otherwise.
-