Class 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

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void 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 clearCIMXMLTraceListeners()
      Removes all CIM-XML trace listeners.
      void clearLogListeners()
      Removes all listeners.
      void clearTraceListeners()
      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 getBroker()
      Returns the singleton instance of the broker
      java.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.OutputStream getXmlTraceStream()
      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 isLoggingStarted()
      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 registerInternalListeners()
      Registers the listeners for our internal loggers
      void 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 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 the WBEMConfiguration class to determine if the logging is already up. The WBEMConfiguration 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 class java.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 FINEST
        pMessage - 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 FINEST
        pMessage - The message text
        pThrown - 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. FINE
        pMessage - The CIM-XML message text
        pOutgoing - 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. A null 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 - The Level 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 - The Level 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 - The Level of the trace message.
        Returns:
        true if CIM-XML trace message could be logged, false otherwise.