Methods Summary |
---|
private static java.lang.String | createLoggerName(javax.management.ObjectName objectName)Derive a Logger name consistent with the package hierarchy.
final String j2eeType = Util.getJ2EEType( objectName );
final String name = Util.getName( objectName );
final TypeInfos infos = TypeInfos.getInstance();
final StringBuffer buf = new StringBuffer();
buf.append( LoggerSupport.AMX_MBEAN_LOGGER_PREFIX );
buf.append( AMX.FULL_TYPE_DELIM + formTypeName( j2eeType, name ) );
final String[] typeChain = infos.getJ2EETypeChain( objectName );
for( int i = 0; i < typeChain.length - 1; ++i )
{
final String type = typeChain[ i ];
String value = objectName.getKeyProperty( type );
if ( value == null )
{
value = AMX.NO_NAME;
}
buf.append( AMX.FULL_TYPE_DELIM + formTypeName( type, value ) );
}
return( buf.toString() );
|
public static java.util.logging.Logger | createNew(javax.management.ObjectName objectName)
final String loggerName = createLoggerName( objectName );
return( Logger.getLogger( loggerName ) );
|
private static java.lang.String | formTypeName(java.lang.String j2eeType, java.lang.String name)
String result = null;
if ( j2eeType == null )
{
result = name;
}
else
{
String pair = mangle( j2eeType );
if ( ! name.equals( ObjectNames.getSingletonName( j2eeType ) ) )
{
pair = pair + TYPE_NAME_DELIM + mangle( name );
}
result = pair;
}
return( result );
|
public void | log(java.util.logging.LogRecord record)
final Object[] existing = record.getParameters();
final int numExisting = existing == null ? 0 : existing.length;
final Object[] params = new Object[ 1 + numExisting ];
if ( existing != null )
{
System.arraycopy( existing, 0, params, 0, existing.length );
}
// follow convention by placing a Map with our stuff in the last position
final Map<String,ObjectName> m = new HashMap<String,ObjectName>();
m.put( OBJECT_NAME_KEY, mObjectName );
params[ params.length - 1 ] = m;
record.setParameters( params );
super.log( record );
|
private static java.lang.String | mangle(java.lang.String s)
// don't allow the '.' in a name part
return( s.replaceAll( "\\.", "_" ) );
|