SOAj Consolidated


info.soaj.core.plugin
Class SjAbstractPluginLogging

java.lang.Object
  extended by info.soaj.core.plugin.SjBasePlugin
      extended by info.soaj.core.plugin.SjAbstractPluginLogging
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
SjPluginLoggingJdk, SjPluginLoggingSystemOut

public abstract class SjAbstractPluginLogging
extends SjBasePlugin

This SOAj plugin supports logging. The plugin is optimized to utilize a single logger for the life-of-application. Multiple logging plugin types may be declared as can multiple logging plugin instances. The SOAj core framework uses a plugin with the key "LoggingPlugin".

Typically, standard level-based logging is supplemented "declarative logging". The logDeclarative() method behavior is based on true or false values (instead of level) in the configuration document.

Copyright (c) 2006 - 2009 by Global Technology Consulting Group, Inc. at gtcGroup.com .

Since:
v. 1.0
Author:
MarvinToll@gtcGroup.com
See Also:
Serialized Form

Field Summary
private static java.lang.String CLASS_NAME
          Class name.
private static long serialVersionUID
          UID
protected  java.lang.String throwableEmailPluginKey
          Plugin key used for emailing throwables.
protected  java.lang.String throwableLogPluginKey
          Plugin key used for logging throwables.
 
Constructor Summary
SjAbstractPluginLogging(SjPopulatedPluginKey pluginKey)
          Constructor - protected
 
Method Summary
abstract  void config(java.lang.String CLASS_NAME, java.lang.String Method_Name, java.lang.String message)
           
abstract  void entering(java.lang.String CLASS_NAME, java.lang.String Method_Name)
           
abstract  void exiting(java.lang.String CLASS_NAME, java.lang.String Method_Name)
           
abstract  void fine(java.lang.String CLASS_NAME, java.lang.String Method_Name, java.lang.String message)
           
abstract  void finer(java.lang.String CLASS_NAME, java.lang.String Method_Name, java.lang.String message)
           
abstract  void finest(java.lang.String CLASS_NAME, java.lang.String Method_Name, java.lang.String message)
           
abstract  void info(java.lang.String CLASS_NAME, java.lang.String Method_Name, java.lang.String message)
           
 void initCB()
          This callback method is invoked exactly once by a factory after instantiating the plugin.
abstract  boolean isLoggable(java.util.logging.Level level)
           
abstract  boolean isLoggerInitialized()
          This method indicates whether the encapsulated logger is initialized.
abstract  void logDeclarative(java.lang.String CLASS_NAME, java.lang.String Method_Name, java.lang.String message, java.lang.String propertyKey)
          This method supplements standard level based logging.
abstract  void logp(java.util.logging.Level level, java.lang.String CLASS_NAME, java.lang.String Method_Name, java.lang.String message)
           
abstract  void logp(java.util.logging.Level level, java.lang.String CLASS_NAME, java.lang.String Method_Name, java.lang.String message, java.lang.Throwable thrown)
           
abstract  void logrb(java.util.logging.Level level, java.lang.String CLASS_NAME, java.lang.String Method_Name, java.lang.String bundleName, java.lang.String message)
           
abstract  void logrb(java.util.logging.Level level, java.lang.String CLASS_NAME, java.lang.String Method_Name, java.lang.String bundleName, java.lang.String message, java.lang.Throwable thrown)
           
abstract  void severe(java.lang.String CLASS_NAME, java.lang.String Method_Name, java.lang.String message)
           
 boolean verifyCB()
          This callback method is invoked exactly once upon application server startup AFTER the initCB() methods complete successfully for ALL plugins.
abstract  void warning(java.lang.String CLASS_NAME, java.lang.String Method_Name, java.lang.String message)
           
 
Methods inherited from class info.soaj.core.plugin.SjBasePlugin
createPluginMetadataCB, getPluginMetadata, getPluginProperties, getPopulatedPluginKey
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
UID

See Also:
Constant Field Values

CLASS_NAME

private static final java.lang.String CLASS_NAME
Class name.


throwableLogPluginKey

protected java.lang.String throwableLogPluginKey
Plugin key used for logging throwables.


throwableEmailPluginKey

protected java.lang.String throwableEmailPluginKey
Plugin key used for emailing throwables.

Constructor Detail

SjAbstractPluginLogging

public SjAbstractPluginLogging(SjPopulatedPluginKey pluginKey)
Constructor - protected

The SOAj plugin pattern enforces instantiation of a plugin via the General Store. Concrete class constructors should be coded as 'protected'.

Parameters:
pluginKey - The 'Key' defined in the descriptor document.
Method Detail

initCB

public void initCB()
This callback method is invoked exactly once by a factory after instantiating the plugin. It must complete successfully before the plugin is considered activated. It should contain all initialization processing.

Overrides:
initCB in class SjBasePlugin

verifyCB

public boolean verifyCB()
This callback method is invoked exactly once upon application server startup AFTER the initCB() methods complete successfully for ALL plugins. This method provides an opportunity for a onetime execution of verification logic to ensure the integrity (or fitness) of a plugin for use. As an example, a sophisticated implementation might fire all of the plugin methods (perhaps using mock objects) to ensure the plugin is 100% operational.

Overrides:
verifyCB in class SjBasePlugin
Returns:
boolean - 'True' indicates the plugin is "good to go"!

isLoggerInitialized

public abstract boolean isLoggerInitialized()
This method indicates whether the encapsulated logger is initialized.

Returns:
boolean - 'True' indicates the logger is initialized.

logDeclarative

public abstract void logDeclarative(java.lang.String CLASS_NAME,
                                    java.lang.String Method_Name,
                                    java.lang.String message,
                                    java.lang.String propertyKey)
This method supplements standard level based logging. Instead of level, logging (or not) is a binary declaration using a property in the descriptor document. This method defaults to logging if no property key is found.

Parameters:
propertyKey -
CLASS_NAME -
Method_Name -
message -

entering

public abstract void entering(java.lang.String CLASS_NAME,
                              java.lang.String Method_Name)
Parameters:
CLASS_NAME -
Method_Name -

exiting

public abstract void exiting(java.lang.String CLASS_NAME,
                             java.lang.String Method_Name)
Parameters:
CLASS_NAME -
Method_Name -

finest

public abstract void finest(java.lang.String CLASS_NAME,
                            java.lang.String Method_Name,
                            java.lang.String message)
Parameters:
CLASS_NAME -
Method_Name -
message -

finer

public abstract void finer(java.lang.String CLASS_NAME,
                           java.lang.String Method_Name,
                           java.lang.String message)
Parameters:
CLASS_NAME -
Method_Name -
message -

fine

public abstract void fine(java.lang.String CLASS_NAME,
                          java.lang.String Method_Name,
                          java.lang.String message)
Parameters:
CLASS_NAME -
Method_Name -
message -

config

public abstract void config(java.lang.String CLASS_NAME,
                            java.lang.String Method_Name,
                            java.lang.String message)
Parameters:
CLASS_NAME -
Method_Name -
message -

info

public abstract void info(java.lang.String CLASS_NAME,
                          java.lang.String Method_Name,
                          java.lang.String message)
Parameters:
CLASS_NAME -
Method_Name -
message -

warning

public abstract void warning(java.lang.String CLASS_NAME,
                             java.lang.String Method_Name,
                             java.lang.String message)
Parameters:
CLASS_NAME -
Method_Name -
message -

severe

public abstract void severe(java.lang.String CLASS_NAME,
                            java.lang.String Method_Name,
                            java.lang.String message)
Parameters:
CLASS_NAME -
Method_Name -
message -

isLoggable

public abstract boolean isLoggable(java.util.logging.Level level)
Parameters:
level -
Returns:
boolean

logp

public abstract void logp(java.util.logging.Level level,
                          java.lang.String CLASS_NAME,
                          java.lang.String Method_Name,
                          java.lang.String message)
Parameters:
level -
CLASS_NAME -
Method_Name -
message -

logp

public abstract void logp(java.util.logging.Level level,
                          java.lang.String CLASS_NAME,
                          java.lang.String Method_Name,
                          java.lang.String message,
                          java.lang.Throwable thrown)
Parameters:
level -
CLASS_NAME -
Method_Name -
message -
thrown -

logrb

public abstract void logrb(java.util.logging.Level level,
                           java.lang.String CLASS_NAME,
                           java.lang.String Method_Name,
                           java.lang.String bundleName,
                           java.lang.String message)
Parameters:
level -
CLASS_NAME -
Method_Name -
bundleName -
message -

logrb

public abstract void logrb(java.util.logging.Level level,
                           java.lang.String CLASS_NAME,
                           java.lang.String Method_Name,
                           java.lang.String bundleName,
                           java.lang.String message,
                           java.lang.Throwable thrown)
Parameters:
level -
CLASS_NAME -
Method_Name -
bundleName -
message -
thrown -

SOAj Consolidated


Copyright (c) 2006 - 2009 by Global Technology Consulting Group, Inc. at gtcGroup.com.
Use is authorized, provided the source is acknowledged by inclusion of this copyright notice.