Class LogAndTraceBroker
- java.lang.Object
-
- org.sblim.cimclient.internal.logging.LogAndTraceBroker
-
public class LogAndTraceBroker extends java.lang.ObjectClass 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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCIMXMLTraceListener(CIMXMLTraceListener pListener)Adds a listener for CIM-XML trace messages.voidaddLogListener(LogListener pListener)Adds a listener for log messages.voidaddTraceListener(TraceListener pListener)Adds a listener for log messages.voidclearCIMXMLTraceListeners()Removes all CIM-XML trace listeners.voidclearLogListeners()Removes all listeners.voidclearTraceListeners()Removes all listeners.voidentry()Forwards a method entry message to the registered trace listeners.voidexit()Forwards a method exit message to the registered trace listeners.protected voidfinalize()static LogAndTraceBrokergetBroker()Returns the singleton instance of the brokerjava.util.List<CIMXMLTraceListener>getCIMXMLTraceListeners()Gets the registered CIM-XML trace listeners.java.util.List<LogListener>getLogListeners()Gets the registered log listeners including the internal console and file loggers.java.util.List<TraceListener>getTraceListeners()Gets the registered trace listeners including the internal console and file loggers.java.io.OutputStreamgetXmlTraceStream()Returns the output stream to which all CIM-XML traffic (outgoing & incoming) will be copied for debugging purposes.booleanisLoggableCIMXMLTrace(java.util.logging.Level pLevel)Checks whether there are CIM-XML trace listeners installed that will log a CIM-XML trace message.booleanisLoggableMessage(java.util.logging.Level pLevel)Checks whether there are log listeners installed that will log a message with the specified level.booleanisLoggableTrace(java.util.logging.Level pLevel)Checks whether there are trace listeners installed that will log a trace message with the specified level.static booleanisLoggingStarted()Returns if the logging framework has been initialized.voidmessage(java.lang.String pKey)Forwards a log/trace message to the registered log&trace listeners.voidmessage(java.lang.String pKey, java.lang.Object pParameter)Forwards a log/trace message to the registered log&trace listeners.voidmessage(java.lang.String pKey, java.lang.Object[] pParameters)Forwards a log/trace message to the registered log&trace listeners.voidregisterInternalListeners()Registers the listeners for our internal loggersvoidremoveCIMXMLTraceListener(CIMXMLTraceListener pListener)Removes a CIM-XML trace listener.voidremoveLogListener(LogListener pListener)Remove a listener.voidremoveTraceListener(TraceListener pListener)Removes a listener.voidsetXmlTraceStream(java.io.OutputStream pStream)Sets an output stream to which all CIM-XML traffic (outgoing & incoming) will be copied for debugging purposes.voidtrace(java.util.logging.Level pLevel, java.lang.String pMessage)Forwards a trace message to the registered trace listeners.voidtrace(java.util.logging.Level pLevel, java.lang.String pMessage, java.lang.Throwable pThrown)Forwards a trace message to the registered trace listeners.voidtraceCIMXML(java.util.logging.Level pLevel, java.lang.String pMessage, boolean pOutgoing)Forwards a CIM-XML trace message to the registered CIM-XML trace listeners.
-
-
-
Method Detail
-
getBroker
public static LogAndTraceBroker 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 theWBEMConfigurationclass to determine if the logging is already up. TheWBEMConfigurationis initialized before the logging, so methods in this class cannot assume the logging to be up and running.- Returns:
trueif the logging is up,falseotherwise
-
finalize
protected void finalize() throws java.lang.Throwable- Overrides:
finalizein classjava.lang.Object- Throws:
java.lang.Throwable
-
registerInternalListeners
public void registerInternalListeners()
Registers the listeners for our internal loggers
-
addLogListener
public void addLogListener(LogListener pListener)
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
public void removeLogListener(LogListener pListener)
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
public java.util.List<LogListener> getLogListeners()
Gets the registered log listeners including the internal console and file loggers.- Returns:
- The list of listeners
-
addTraceListener
public void addTraceListener(TraceListener pListener)
Adds a listener for log messages. The listener will be notified of any trace event.- Parameters:
pListener- The listener
-
removeTraceListener
public void removeTraceListener(TraceListener pListener)
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
public java.util.List<TraceListener> getTraceListeners()
Gets the registered trace listeners including the internal console and file loggers.- Returns:
- A list of listeners
-
addCIMXMLTraceListener
public void addCIMXMLTraceListener(CIMXMLTraceListener pListener)
Adds a listener for CIM-XML trace messages. The listener will be notified of any CIM-XML trace event.- Parameters:
pListener- The listener
-
removeCIMXMLTraceListener
public void removeCIMXMLTraceListener(CIMXMLTraceListener pListener)
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
public java.util.List<CIMXMLTraceListener> 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-trueif CIM-XML is outgoing (being sent from client to server),falseif 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
nullvalue 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. Anullvalue 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- TheLevelof the trace message.- Returns:
trueif trace message could be logged,falseotherwise.
-
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- TheLevelof the message.- Returns:
trueif message could be logged,falseotherwise.
-
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- TheLevelof the trace message.- Returns:
trueif CIM-XML trace message could be logged,falseotherwise.
-
-