JBoss Log Manager 1.3.2.Final-redhat-1

org.jboss.logmanager
Class ExtLogRecord

java.lang.Object
  extended by java.util.logging.LogRecord
      extended by org.jboss.logmanager.ExtLogRecord
All Implemented Interfaces:
Serializable

public class ExtLogRecord
extends LogRecord

An extended log record, which includes additional information including MDC/NDC and correct caller location (even in the presence of a logging facade).

See Also:
Serialized Form

Nested Class Summary
static class ExtLogRecord.FormatStyle
          The format style to use.
 
Constructor Summary
ExtLogRecord(ExtLogRecord original)
          Make a copy of a log record.
ExtLogRecord(Level level, String msg, ExtLogRecord.FormatStyle formatStyle, String loggerClassName)
          Construct a new instance.
ExtLogRecord(Level level, String msg, String loggerClassName)
          Construct a new instance.
 
Method Summary
 void copyAll()
          Copy all fields and prepare this object to be passed to another thread or to be serialized.
 void copyMdc()
          Copy the MDC.
 void disableCallerCalculation()
          Disable caller calculation for this record.
 ExtLogRecord.FormatStyle getFormatStyle()
          Get the format style for the record.
 String getFormattedMessage()
          Get the fully formatted log record, with resources resolved and parameters applied.
 String getLoggerClassName()
          Get the class name of the logger which created this record.
 String getMdc(String key)
          Get the value of an MDC property.
 Map<String,String> getMdcCopy()
          Get a copy of all the MDC properties for this log record.
 String getNdc()
          Get the NDC for this log record.
 String getResourceKey()
          Get the resource key, if any.
 String getSourceClassName()
          
 String getSourceFileName()
          Get the source file name for this log record.
 int getSourceLineNumber()
          Get the source line number for this log record.
 String getSourceMethodName()
          
 String getThreadName()
          Get the thread name of this logging event.
 String putMdc(String key, String value)
          Change an MDC value on this record.
 String removeMdc(String key)
          Remove an MDC value on this record.
 void setMdc(Map<?,?> sourceMap)
          Create a new MDC using a copy of the source map.
 void setMessage(String message)
          Set the raw message.
 void setMessage(String message, ExtLogRecord.FormatStyle formatStyle)
          Set the raw message.
 void setNdc(String value)
          Change the NDC for this log record.
 void setParameters(Object[] parameters)
          Set the parameters to the log message.
 void setResourceBundle(ResourceBundle bundle)
          Set the localization resource bundle.
 void setResourceBundleName(String name)
          Set the localization resource bundle name.
 void setSourceClassName(String sourceClassName)
          
 void setSourceFileName(String sourceFileName)
          Set the source file name for this log record.
 void setSourceLineNumber(int sourceLineNumber)
          Set the source line number for this log record.
 void setSourceMethodName(String sourceMethodName)
          
 void setThreadName(String threadName)
          Set the thread name of this logging event.
static ExtLogRecord wrap(LogRecord rec)
          Wrap a JDK log record.
 
Methods inherited from class java.util.logging.LogRecord
getLevel, getLoggerName, getMessage, getMillis, getParameters, getResourceBundle, getResourceBundleName, getSequenceNumber, getThreadID, getThrown, setLevel, setLoggerName, setMillis, setSequenceNumber, setThreadID, setThrown
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExtLogRecord

public ExtLogRecord(Level level,
                    String msg,
                    String loggerClassName)
Construct a new instance. Grabs the current NDC immediately. MDC is deferred.

Parameters:
level - a logging level value
msg - the raw non-localized logging message (may be null)
loggerClassName - the name of the logger class

ExtLogRecord

public ExtLogRecord(Level level,
                    String msg,
                    ExtLogRecord.FormatStyle formatStyle,
                    String loggerClassName)
Construct a new instance. Grabs the current NDC immediately. MDC is deferred.

Parameters:
level - a logging level value
msg - the raw non-localized logging message (may be null)
formatStyle - the parameter format style to use
loggerClassName - the name of the logger class

ExtLogRecord

public ExtLogRecord(ExtLogRecord original)
Make a copy of a log record.

Parameters:
original - the original
Method Detail

wrap

public static ExtLogRecord wrap(LogRecord rec)
Wrap a JDK log record. If the target record is already an ExtLogRecord, it is simply returned. Otherwise a wrapper record is created and returned.

Parameters:
rec - the original record
Returns:
the wrapped record

disableCallerCalculation

public void disableCallerCalculation()
Disable caller calculation for this record. If the caller has already been calculated, leave it; otherwise set the caller to "unknown".


copyAll

public void copyAll()
Copy all fields and prepare this object to be passed to another thread or to be serialized. Calling this method more than once has no additional effect and will not incur extra copies.


copyMdc

public void copyMdc()
Copy the MDC. Call this method before passing this log record to another thread. Calling this method more than once has no additional effect and will not incur extra copies.


getMdc

public String getMdc(String key)
Get the value of an MDC property.

Parameters:
key - the property key
Returns:
the property value

getMdcCopy

public Map<String,String> getMdcCopy()
Get a copy of all the MDC properties for this log record. If the MDC has not yet been copied, this method will copy it.

Returns:
a copy of the MDC map

putMdc

public String putMdc(String key,
                     String value)
Change an MDC value on this record. If the MDC has not yet been copied, this method will copy it.

Parameters:
key - the key to set
value - the value to set it to
Returns:
the old value, if any

removeMdc

public String removeMdc(String key)
Remove an MDC value on this record. If the MDC has not yet been copied, this method will copy it.

Parameters:
key - the key to remove
Returns:
the old value, if any

setMdc

public void setMdc(Map<?,?> sourceMap)
Create a new MDC using a copy of the source map.

Parameters:
sourceMap - the source man, must not be null

getNdc

public String getNdc()
Get the NDC for this log record.

Returns:
the NDC

setNdc

public void setNdc(String value)
Change the NDC for this log record.

Parameters:
value - the new NDC value

getLoggerClassName

public String getLoggerClassName()
Get the class name of the logger which created this record.

Returns:
the class name

getFormatStyle

public ExtLogRecord.FormatStyle getFormatStyle()
Get the format style for the record.

Returns:
the format style

getSourceLineNumber

public int getSourceLineNumber()
Get the source line number for this log record.

Note that this line number is not verified and may be spoofed. This information may either have been provided as part of the logging call, or it may have been inferred automatically by the logging framework. In the latter case, the information may only be approximate and may in fact describe an earlier call on the stack frame. May be -1 if no information could be obtained.

Returns:
the source line number

setSourceLineNumber

public void setSourceLineNumber(int sourceLineNumber)
Set the source line number for this log record.

Parameters:
sourceLineNumber - the source line number

getSourceFileName

public String getSourceFileName()
Get the source file name for this log record.

Note that this file name is not verified and may be spoofed. This information may either have been provided as part of the logging call, or it may have been inferred automatically by the logging framework. In the latter case, the information may only be approximate and may in fact describe an earlier call on the stack frame. May be null if no information could be obtained.

Returns:
the source file name

setSourceFileName

public void setSourceFileName(String sourceFileName)
Set the source file name for this log record.

Parameters:
sourceFileName - the source file name

getSourceClassName

public String getSourceClassName()

Overrides:
getSourceClassName in class LogRecord

setSourceClassName

public void setSourceClassName(String sourceClassName)

Overrides:
setSourceClassName in class LogRecord

getSourceMethodName

public String getSourceMethodName()

Overrides:
getSourceMethodName in class LogRecord

setSourceMethodName

public void setSourceMethodName(String sourceMethodName)

Overrides:
setSourceMethodName in class LogRecord

getFormattedMessage

public String getFormattedMessage()
Get the fully formatted log record, with resources resolved and parameters applied.

Returns:
the formatted log record

getResourceKey

public String getResourceKey()
Get the resource key, if any. If the log message is not localized, then the key is null.

Returns:
the resource key

getThreadName

public String getThreadName()
Get the thread name of this logging event.

Returns:
the thread name

setThreadName

public void setThreadName(String threadName)
Set the thread name of this logging event.

Parameters:
threadName - the thread name

setMessage

public void setMessage(String message)
Set the raw message. Any cached formatted message is discarded. The parameter format is set to be MessageFormat-style.

Overrides:
setMessage in class LogRecord
Parameters:
message - the new raw message

setMessage

public void setMessage(String message,
                       ExtLogRecord.FormatStyle formatStyle)
Set the raw message. Any cached formatted message is discarded. The parameter format is set according to the given argument.

Parameters:
message - the new raw message
formatStyle - the format style to use

setParameters

public void setParameters(Object[] parameters)
Set the parameters to the log message. Any cached formatted message is discarded.

Overrides:
setParameters in class LogRecord
Parameters:
parameters - the log message parameters. (may be null)

setResourceBundle

public void setResourceBundle(ResourceBundle bundle)
Set the localization resource bundle. Any cached formatted message is discarded.

Overrides:
setResourceBundle in class LogRecord
Parameters:
bundle - localization bundle (may be null)

setResourceBundleName

public void setResourceBundleName(String name)
Set the localization resource bundle name. Any cached formatted message is discarded.

Overrides:
setResourceBundleName in class LogRecord
Parameters:
name - localization bundle name (may be null)

JBoss Log Manager 1.3.2.Final-redhat-1

Copyright © 2012 JBoss by Red Hat. All Rights Reserved.