com.ibm.websphere.logging.hpel.reader
Class HpelFormatter
- java.lang.Object
com.ibm.websphere.logging.hpel.reader.HpelFormatter
- public abstract class HpelFormatter
- extends java.lang.Object
Nested Class Summary
Modifier and Type | Class and Description |
---|---|
|
HpelFormatter.CustomHeaderLine
Helper class representing one line of the customary defined header.
|
Field Summary
Modifier and Type | Field and Description |
---|---|
|
customHeader
Set of lines to use in the custom header.
|
|
customLevels
Map between level and it's one character id.
|
|
dateFormat
|
|
FORMAT_ADVANCED
"Advanced" type format used in legacy text log files
|
|
FORMAT_BASIC
"Basic" type format used in legacy text log files
|
|
FORMAT_CBE101
Common Base Event Format
|
|
headerProps
|
|
lineSeparator
|
|
locale
Locale this formatters uses for record messages and date formatting
|
|
nullParamString
|
|
timeZone
|
Constructor Summary
Constructor and Description |
---|
HpelFormatter()
|
Method Summary
Modifier and Type | Method and Description |
---|---|
|
addCustomLevel(java.util.logging.Level level,java.lang.String id)
Adds level to be treated specially by this formatter.
|
|
addCustomLevel(java.lang.String name,int intValue,java.lang.String id,java.lang.String resourceBundleName)
Adds extra level recognizable by this formatter and Level.parse()
|
|
appendUnusedParms(java.lang.String message,java.lang.Object[] args)
Add parameters to the end of a message based on policy indicated by unusedParmHandling
parameter.
|
|
convertParameters(java.lang.Object[] parms)
Returns an array of parameters that matches the input parms except:
Parameters that are empty strings are converted to "" (2 double quotes)
|
|
formatMessage(RepositoryLogRecord record,java.util.Locale tmpLocale)
Returns the formatted version of the record's message in a specified
locale with any place holder parameters substituted with values.
|
|
formatRecord(java.util.logging.LogRecord record)
Formats a LogRecord using the formatter's locale
|
|
formatRecord(RepositoryLogRecord record)
Formats a RepositoryLogRecord using the formatter's locale
|
|
formatRecord(RepositoryLogRecord record,java.util.Locale locale)
Formats a RepositoryLogRecord using the locale specified.
|
|
formatThreadID(RepositoryLogRecord r,java.lang.StringBuilder buffer)
|
|
formatUnlocalized(java.lang.String traceString,java.lang.Object[] parms)
Used for WsLogRecords or CommonBaseEventLogRecords that specify REQUIRES_NO_LOCALIZATION,
tries to format, and if unsuccessful in using any parameters appends them per unusedParmHandling.
|
|
getFooter()
Gets the formatter's footer.
|
|
getFormatter(java.lang.String formatStyle)
Returns the HpelFormatter subclass instance to be used for formatting a RepositoryLogRecord.
|
|
getHeader()
Gets the formatter's header.
|
|
getHeaderProps()
Returns the Properties that is used to populate the formatter's header.
|
|
getLineSeparator()
|
|
getLocale()
Returns the formatter's locale that will be used to localize the log record's date timestamp and message.
|
|
getTimeZoneID()
Returns the ID of the time zone to be used in the formatted log record header timestamp
|
|
setCustomHeader(java.lang.String[] header)
sets new customer header format specification
|
|
setHeaderProps(java.util.Properties properties)
Sets the Properties that is used to populate the formatter's header.
|
|
setLineSeparator(java.lang.String lineSeparator)
|
|
setLocale(java.util.Locale locale)
Sets the formatter locale that will be used to localize a log record being formatted.
|
|
setTimeZoneID(java.lang.String timeZoneId)
Sets the ID of the time zone to be used in the formatted log record header timestamp
|
|
translateMessage(RepositoryLogRecord record,java.util.Locale tmpLocale)
|
|
verifyTimeZoneID(java.lang.String timeZoneID)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail
FORMAT_BASIC
- public static final java.lang.String FORMAT_BASIC
"Basic" type format used in legacy text log files
See Also:
FORMAT_ADVANCED
- public static final java.lang.String FORMAT_ADVANCED
"Advanced" type format used in legacy text log files
See Also:
FORMAT_CBE101
- public static final java.lang.String FORMAT_CBE101
Common Base Event Format
See Also:
lineSeparator
- protected java.lang.String lineSeparator
headerProps
- protected java.util.Properties headerProps
locale
- protected java.util.Locale locale
Locale this formatters uses for record messages and date formatting
timeZone
- protected java.util.TimeZone timeZone
dateFormat
- protected java.text.DateFormat dateFormat
nullParamString
- protected static final java.lang.String nullParamString
See Also:
customLevels
- protected static final java.util.Map<java.util.logging.Level,java.lang.String> customLevels
Map between level and it's one character id.
customHeader
- protected HpelFormatter.CustomHeaderLine[] customHeader
Set of lines to use in the custom header.
Constructor Detail
HpelFormatter
- public HpelFormatter()
Method Detail
getFormatter
- public static HpelFormatter getFormatter( java.lang.String formatStyle)
Returns the HpelFormatter subclass instance to be used for formatting a RepositoryLogRecord. The formatter returned
is based on the formatStyle requested.
Parameters:
formatStyle
- the style of the HpelFormatter instance to be returned. Valid values must match (case-insensitive)
FORMAT_BASIC
, FORMAT_ADVANCED
, or FORMAT_CBE101
Returns:
a HpelFormatter instance that matches the requested formatter style
Throws:
java.lang.IllegalArgumentException
- when the formatterName is invalid due to a null value passed or a formatter name
that is not recognized See Also:
TimeZone
addCustomLevel
- public static java.util.logging.Level addCustomLevel( java.lang.String name,
- int intValue,
- java.lang.String id,
- java.lang.String resourceBundleName)
Adds extra level recognizable by this formatter and Level.parse()
Parameters:
name
- name of the level intValue
- integer value of the level id
- one character id to use for this level. If it's 'null' first character of the level name will be used resourceBundleName
- resource bundle to use for level name translation Returns:
newly generated level instance
addCustomLevel
- public static void addCustomLevel( java.util.logging.Level level,
- java.lang.String id)
Adds level to be treated specially by this formatter.
Parameters:
level
- level to be added to the special list id
- one character id to use for this level. If it's 'null' first character of the level name will be used setCustomHeader
- public void setCustomHeader(java.lang.String[] header)
sets new customer header format specification
Parameters:
header
- array of Strings containing optional parameters with name of the header value to
use in them. For example: "Java version: {java.version}". getTimeZoneID
- public java.lang.String getTimeZoneID( )
Returns the ID of the time zone to be used in the formatted log record header timestamp
Returns:
time zone ID
See Also:
TimeZone
setTimeZoneID
- public void setTimeZoneID(java.lang.String timeZoneId)
Sets the ID of the time zone to be used in the formatted log record header timestamp
Parameters:
timeZoneId
- new timeZoneID attribute value. Throws:
java.lang.IllegalArgumentException
- when the time zone ID is not valid. getLocale
- public java.util.Locale getLocale( )
Returns the formatter's locale that will be used to localize the log record's date timestamp and message.
Returns:
the locale that will be used to localize the log record
setLocale
- public void setLocale(java.util.Locale locale)
Sets the formatter locale that will be used to localize a log record being formatted. The formatter locale will be used
when
formatRecord(RepositoryLogRecord)
is invoked. It is possible to format a log record with a locale other than
one set by this method using formatRecord(RepositoryLogRecord, Locale)
. the formatter locale will be set to the system
locale until this method gets invoked.
Parameters:
locale
- the Locale to be used for localizing the log record, null
to disable message localization. setHeaderProps
- public void setHeaderProps(java.util.Properties properties)
Sets the Properties that is used to populate the formatter's header. This Properties used in the
parameter should be a Properties returned from invoking ServerInstanceLogRecordList.getHeader().
See Also:
getHeaderProps
- public java.util.Properties getHeaderProps( )
Returns the Properties that is used to populate the formatter's header.
formatMessage
- public java.lang.String formatMessage( RepositoryLogRecord record,
- java.util.Locale tmpLocale)
Returns the formatted version of the record's message in a specified
locale with any place holder parameters substituted with values.
In cases where localization is successful, the formatted message is the localized message with any place holder values filled in with corresponding parameter values.
In cases where the localized message is null, the formatted message is the raw message with any place holder values filled in with corresponding parameter values.
This is the same behavior as found in
LogRecord.getMessage()
Parameters:
record
- log record to read the message from. tmpLocale
- locale to translate message into. Returns:
the fully localized and formatted message.
See Also:
LogRecord.getMessage()
convertParameters
- public static java.lang.Object[] convertParameters( java.lang.Object[] parms)
Returns an array of parameters that matches the input parms except:
Parameters that are empty strings are converted to "" (2 double quotes)
Parameters:
parms
- Returns:
Object[]
formatUnlocalized
- protected java.lang.String formatUnlocalized( java.lang.String traceString,
- java.lang.Object[] parms)
Used for WsLogRecords or CommonBaseEventLogRecords that specify REQUIRES_NO_LOCALIZATION,
tries to format, and if unsuccessful in using any parameters appends them per unusedParmHandling.
Returns:
the formatted trace
appendUnusedParms
- protected abstract java.lang.String appendUnusedParms( java.lang.String message,
- java.lang.Object[] args)
Add parameters to the end of a message based on policy indicated by unusedParmHandling
parameter.
Parameters:
message
- Message to append arguments onto args
- Arguments to append to message Returns:
String new copy of message with parameters appended, or message itself if nothing was appended
translateMessage
- public static java.lang.String translateMessage( RepositoryLogRecord record,
- java.util.Locale tmpLocale)
Parameters:
record
- log record to read the message from. tmpLocale
- locale to translate message into. Returns:
the fully localized message.
formatRecord
- public java.lang.String formatRecord( RepositoryLogRecord record)
Formats a RepositoryLogRecord using the formatter's locale
Parameters:
record
- log record to be formatted Returns:
the resulting formatted string output.
formatRecord
- public abstract java.lang.String formatRecord( RepositoryLogRecord record,
- java.util.Locale locale)
Formats a RepositoryLogRecord using the locale specified.
Parameters:
record
- the RepositoryLogRecord to be formatted locale
- the locale to use when formatting this record. Returns:
the formatted RepositoryLogRecord as string output.
formatRecord
- public java.lang.String formatRecord( java.util.logging.LogRecord record)
Formats a LogRecord using the formatter's locale
Parameters:
record
- log record to be formatted Returns:
the resulting formatted string output.
getHeader
- public abstract java.lang.String[] getHeader( )
Gets the formatter's header. This method will return an empty array if the
formatter does not have a header as part of the formatter's format style
return the header as an array of strings
getFooter
- public abstract java.lang.String getFooter( )
Gets the formatter's footer. This method will return an empty string if the formatter
does not have a footer as part of the formatter's format style.
Returns:
the footer as a string
verifyTimeZoneID
- protected static boolean verifyTimeZoneID( java.lang.String timeZoneID)
formatThreadID
- protected static void formatThreadID( RepositoryLogRecord r,
- java.lang.StringBuilder buffer)
getLineSeparator
- public java.lang.String getLineSeparator( )
setLineSeparator
- public void setLineSeparator(java.lang.String lineSeparator)