Class LogAndTraceBroker
java.lang.Object
org.sblim.cimclient.internal.logging.LogAndTraceBroker
public class LogAndTraceBroker
extends java.lang.Object
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 brokerjava.util.List<CIMXMLTraceListener>
Gets the registered CIM-XML trace listeners.java.util.List<LogListener>
Gets the registered log listeners including the internal console and file loggers.java.util.List<TraceListener>
Gets the registered trace listeners including the internal console and file loggers.java.io.OutputStream
Returns the output stream to which all CIM-XML traffic (outgoing & incoming) will be copied for debugging purposes.boolean
isLoggableCIMXMLTrace
(java.util.logging.Level pLevel) Checks whether there are CIM-XML trace listeners installed that will log a CIM-XML trace message.boolean
isLoggableMessage
(java.util.logging.Level pLevel) Checks whether there are log listeners installed that will log a message with the specified level.boolean
isLoggableTrace
(java.util.logging.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
message
(java.lang.String pKey) Forwards a log/trace message to the registered log&trace listeners.void
message
(java.lang.String pKey, java.lang.Object pParameter) Forwards a log/trace message to the registered log&trace listeners.void
message
(java.lang.String pKey, java.lang.Object[] pParameters) Forwards a log/trace message to the registered log&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
(java.io.OutputStream pStream) Sets an output stream to which all CIM-XML traffic (outgoing & incoming) will be copied for debugging purposes.void
trace
(java.util.logging.Level pLevel, java.lang.String pMessage) Forwards a trace message to the registered trace listeners.void
trace
(java.util.logging.Level pLevel, java.lang.String pMessage, java.lang.Throwable pThrown) Forwards a trace message to the registered trace listeners.void
traceCIMXML
(java.util.logging.Level pLevel, java.lang.String pMessage, boolean pOutgoing) Forwards a CIM-XML trace message to the registered CIM-XML trace listeners.Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
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
protected void finalize() throws java.lang.Throwable- Overrides:
finalize
in classjava.lang.Object
- Throws:
java.lang.Throwable
-
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
public void message(java.lang.String pKey) Forwards a log/trace message to the registered log&trace listeners.- Parameters:
pKey
- The message identifier.
-
message
public void message(java.lang.String pKey, java.lang.Object pParameter) Forwards a log/trace message to the registered log&trace listeners.- Parameters:
pKey
- The message identifier.pParameter
- The parameter for the message
-
message
public void message(java.lang.String pKey, java.lang.Object[] pParameters) Forwards a log/trace message to the registered log&trace listeners.- Parameters:
pKey
- The message identifier.pParameters
- The parameters for the message
-
trace
public void trace(java.util.logging.Level pLevel, java.lang.String pMessage) Forwards a trace message to the registered trace listeners.- Parameters:
pLevel
- One of the three message level identifiers FINE, FINER and FINESTpMessage
- The message text
-
trace
public void trace(java.util.logging.Level pLevel, java.lang.String pMessage, java.lang.Throwable pThrown) Forwards a trace message to the registered trace listeners.- Parameters:
pLevel
- One of the three message level identifiers FINE, FINER and FINESTpMessage
- The message textpThrown
- The throwable associated with the message
-
traceCIMXML
public void traceCIMXML(java.util.logging.Level pLevel, java.lang.String pMessage, boolean pOutgoing) 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
public java.io.OutputStream 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
public void setXmlTraceStream(java.io.OutputStream pStream) 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
public boolean isLoggableTrace(java.util.logging.Level pLevel) 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
public boolean isLoggableMessage(java.util.logging.Level pLevel) 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
public boolean isLoggableCIMXMLTrace(java.util.logging.Level pLevel) 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.
-