|
Java EE 5 SDK | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface LogRecordEmitter
Emits LogRecord
as JMX Notification
.
The LogRecord
is embedded within a Notification as follows:
notif.getType() => a Notification type beginning with LOG_RECORD_NOTIFICATION_PREFIX
notif.getSource() => ObjectName of Logging
MBean that emitted the Notification
notif.getUserData() => Map<String,Object> with keys as described below.
To avoid deserialization problems, an actual LogRecord
is not
transmitted. Instead, its important fields are extracted and placed into a Map
obtained as follows:
final Map fields = (Map)notif.getUserData();
Alternately, you may use Util.getAMXNotificationValue(javax.management.Notification, java.lang.String)
to extract any]
particular field.
Valid keys within the Map are:
LOG_RECORD_AS_STRING_KEY
value is the String version of the entire LogRecord
Here is an example of how to retrieve the LogRecord information when a Notification is received:
final Notifcation notif =
Util.getAMXNotificationValue(javax.management.Notification, java.lang.String)
( notif, LOG_RECORD_KEY );
final String logRecordString = (String)Util.getAMXNotificationValue(javax.management.Notification, java.lang.String)
( notif, LOG_RECORD_STRING_KEY );
Field Summary | |
---|---|
static Set<String> |
ALL_LOG_RECORD_NOTIFICATION_TYPES
|
static String |
LOG_RECORD_AS_STRING_KEY
Key to access the string representation of the LogRecord . |
static String |
LOG_RECORD_CONFIG_NOTIFICATION_TYPE
Notification type for a CONFIG LogRecord |
static String |
LOG_RECORD_FINE_NOTIFICATION_TYPE
Notification type for a FINE LogRecord |
static String |
LOG_RECORD_FINER_NOTIFICATION_TYPE
Notification type for a FINER LogRecord |
static String |
LOG_RECORD_FINEST_NOTIFICATION_TYPE
Notification type for a FINEST LogRecord |
static String |
LOG_RECORD_INFO_NOTIFICATION_TYPE
Notification type for an INFO LogRecord |
static String |
LOG_RECORD_KEY_PREFIX
All keys within the Map found in Notification.getUserData() have this prefix. |
static String |
LOG_RECORD_LEVEL_KEY
value: Level |
static String |
LOG_RECORD_LOGGER_NAME_KEY
value: String |
static String |
LOG_RECORD_MESSAGE_KEY
value: String |
static String |
LOG_RECORD_MILLIS_KEY
value: Long |
static String |
LOG_RECORD_NOTIFICATION_PREFIX
Notification type prefix for a LogRecord Notification |
static String |
LOG_RECORD_OTHER_NOTIFICATION_TYPE
Notification type for any other level eg a specific level number not equivalent to any of the standard ones |
static String |
LOG_RECORD_ROOT_CAUSE_KEY
value: Throwable If LogRecord.getThrown() was non-null, this value is the innermost Throwable eg the root cause found by following Throwable.getCause() until the innermost Throwable is reached. |
static String |
LOG_RECORD_SEQUENCE_NUMBER_KEY
value: Long |
static String |
LOG_RECORD_SEVERE_NOTIFICATION_TYPE
Notification type for a SEVERE LogRecord |
static String |
LOG_RECORD_SOURCE_CLASS_NAME_KEY
value: String |
static String |
LOG_RECORD_SOURCE_METHOD_NAME_KEY
value: String |
static String |
LOG_RECORD_THREAD_ID_KEY
value: Integer |
static String |
LOG_RECORD_THROWN_KEY
value: Throwable All Throwables are remapped to standard java exceptions; the value will be a Throwable, but it may not be the original Throwable as thrown on the server side. |
static String |
LOG_RECORD_WARNING_NOTIFICATION_TYPE
Notification type for a WARNING LogRecord |
Method Summary | |
---|---|
int |
getLogLevelListenerCount(Level logLevel)
Get the number of listeners for the specified log level. |
Methods inherited from interface javax.management.NotificationEmitter |
---|
removeNotificationListener |
Methods inherited from interface javax.management.NotificationBroadcaster |
---|
addNotificationListener, getNotificationInfo, removeNotificationListener |
Methods inherited from interface com.sun.appserv.management.base.ListenerInfo |
---|
getListenerCount, getNotificationTypeListenerCount |
Field Detail |
---|
static final String LOG_RECORD_NOTIFICATION_PREFIX
static final String LOG_RECORD_SEVERE_NOTIFICATION_TYPE
static final String LOG_RECORD_WARNING_NOTIFICATION_TYPE
static final String LOG_RECORD_INFO_NOTIFICATION_TYPE
static final String LOG_RECORD_CONFIG_NOTIFICATION_TYPE
static final String LOG_RECORD_FINE_NOTIFICATION_TYPE
static final String LOG_RECORD_FINER_NOTIFICATION_TYPE
static final String LOG_RECORD_FINEST_NOTIFICATION_TYPE
static final String LOG_RECORD_OTHER_NOTIFICATION_TYPE
static final Set<String> ALL_LOG_RECORD_NOTIFICATION_TYPES
static final String LOG_RECORD_KEY_PREFIX
static final String LOG_RECORD_AS_STRING_KEY
LogRecord
.
This value will always be present and non-null.
Use Util.getAMXNotificationValue(javax.management.Notification, java.lang.String)
(LOG_RECORD_STRING_KEY)
to obtain this value.
static final String LOG_RECORD_LEVEL_KEY
static final String LOG_RECORD_LOGGER_NAME_KEY
static final String LOG_RECORD_MESSAGE_KEY
static final String LOG_RECORD_MILLIS_KEY
static final String LOG_RECORD_SEQUENCE_NUMBER_KEY
static final String LOG_RECORD_SOURCE_CLASS_NAME_KEY
static final String LOG_RECORD_SOURCE_METHOD_NAME_KEY
static final String LOG_RECORD_THREAD_ID_KEY
static final String LOG_RECORD_THROWN_KEY
All Throwables are remapped to standard java exceptions; the value will be a Throwable, but it may not be the original Throwable as thrown on the server side.
If nothing was thrown this key will not be found in the Map.
static final String LOG_RECORD_ROOT_CAUSE_KEY
If LogRecord.getThrown() was non-null, this value is the innermost Throwable eg the root cause found by following Throwable.getCause() until the innermost Throwable is reached.
If the root cause is the same as the thrown exception, then this value will not exist.
Method Detail |
---|
int getLogLevelListenerCount(Level logLevel)
logLevel
-
|
Java EE 5 SDK | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 2006 Sun Microsystems, Inc. All rights reserved.