Package org.apache.logging.log4j.message
Class LocalizedMessage
- java.lang.Object
-
- org.apache.logging.log4j.message.LocalizedMessage
-
- All Implemented Interfaces:
java.io.Serializable
,LoggerNameAwareMessage
,Message
public class LocalizedMessage extends java.lang.Object implements Message, LoggerNameAwareMessage
Provides some level of compatibility with Log4j 1.x and convenience but is not the recommended way to Localize messages.The recommended way to localize messages is to log a message id. Log events should then be recorded without formatting into a data store. The application that is used to read the events and display them to the user can then localize and format the messages for the end user.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Object[]
argArray
private java.lang.String
baseName
private java.lang.String
formattedMessage
private java.lang.String
key
private java.util.Locale
locale
private StatusLogger
logger
private java.lang.String
loggerName
private java.util.ResourceBundle
resourceBundle
private static long
serialVersionUID
private java.lang.String[]
stringArgs
private java.lang.Throwable
throwable
-
Constructor Summary
Constructors Constructor Description LocalizedMessage(java.lang.String messagePattern, java.lang.Object arg)
LocalizedMessage(java.lang.String messagePattern, java.lang.Object[] arguments)
Constructor with message pattern and arguments.LocalizedMessage(java.lang.String messagePattern, java.lang.Object arg1, java.lang.Object arg2)
LocalizedMessage(java.lang.String baseName, java.lang.String key, java.lang.Object arg)
LocalizedMessage(java.lang.String baseName, java.lang.String key, java.lang.Object[] arguments)
LocalizedMessage(java.lang.String baseName, java.lang.String key, java.lang.Object arg1, java.lang.Object arg2)
LocalizedMessage(java.lang.String baseName, java.util.Locale locale, java.lang.String key, java.lang.Object arg)
LocalizedMessage(java.lang.String baseName, java.util.Locale locale, java.lang.String key, java.lang.Object[] arguments)
LocalizedMessage(java.lang.String baseName, java.util.Locale locale, java.lang.String key, java.lang.Object arg1, java.lang.Object arg2)
LocalizedMessage(java.util.Locale locale, java.lang.String key, java.lang.Object arg)
LocalizedMessage(java.util.Locale locale, java.lang.String key, java.lang.Object[] arguments)
LocalizedMessage(java.util.Locale locale, java.lang.String key, java.lang.Object arg1, java.lang.Object arg2)
LocalizedMessage(java.util.ResourceBundle bundle, java.lang.String key)
LocalizedMessage(java.util.ResourceBundle bundle, java.lang.String key, java.lang.Object arg)
LocalizedMessage(java.util.ResourceBundle bundle, java.lang.String key, java.lang.Object[] arguments)
LocalizedMessage(java.util.ResourceBundle bundle, java.lang.String key, java.lang.Object arg1, java.lang.Object arg2)
LocalizedMessage(java.util.ResourceBundle bundle, java.util.Locale locale, java.lang.String key, java.lang.Object arg)
LocalizedMessage(java.util.ResourceBundle bundle, java.util.Locale locale, java.lang.String key, java.lang.Object[] arguments)
LocalizedMessage(java.util.ResourceBundle bundle, java.util.Locale locale, java.lang.String key, java.lang.Object arg1, java.lang.Object arg2)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getFormat()
Gets the format portion of the Message.java.lang.String
getFormattedMessage()
Returns the formatted message after looking up the format in the resource bundle.java.lang.String
getLoggerName()
Returns the name of the Logger.java.lang.Object[]
getParameters()
Gets parameter values, if any.protected java.util.ResourceBundle
getResourceBundle(java.lang.String rbBaseName, java.util.Locale resourceBundleLocale, boolean loop)
Override this to use a ResourceBundle.Control in Java 6java.lang.Throwable
getThrowable()
Gets the throwable, if any.private void
readObject(java.io.ObjectInputStream in)
void
setLoggerName(java.lang.String name)
Set the name of the Logger.java.lang.String
toString()
private void
writeObject(java.io.ObjectOutputStream out)
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
baseName
private java.lang.String baseName
-
resourceBundle
private transient java.util.ResourceBundle resourceBundle
-
locale
private final java.util.Locale locale
-
logger
private transient StatusLogger logger
-
loggerName
private java.lang.String loggerName
-
key
private java.lang.String key
-
stringArgs
private java.lang.String[] stringArgs
-
argArray
private transient java.lang.Object[] argArray
-
formattedMessage
private java.lang.String formattedMessage
-
throwable
private transient java.lang.Throwable throwable
-
-
Constructor Detail
-
LocalizedMessage
public LocalizedMessage(java.lang.String messagePattern, java.lang.Object[] arguments)
Constructor with message pattern and arguments.- Parameters:
messagePattern
- the message pattern that to be checked for placeholders.arguments
- the argument array to be converted.
-
LocalizedMessage
public LocalizedMessage(java.lang.String baseName, java.lang.String key, java.lang.Object[] arguments)
-
LocalizedMessage
public LocalizedMessage(java.util.ResourceBundle bundle, java.lang.String key, java.lang.Object[] arguments)
-
LocalizedMessage
public LocalizedMessage(java.lang.String baseName, java.util.Locale locale, java.lang.String key, java.lang.Object[] arguments)
-
LocalizedMessage
public LocalizedMessage(java.util.ResourceBundle bundle, java.util.Locale locale, java.lang.String key, java.lang.Object[] arguments)
-
LocalizedMessage
public LocalizedMessage(java.util.Locale locale, java.lang.String key, java.lang.Object[] arguments)
-
LocalizedMessage
public LocalizedMessage(java.lang.String messagePattern, java.lang.Object arg)
-
LocalizedMessage
public LocalizedMessage(java.lang.String baseName, java.lang.String key, java.lang.Object arg)
-
LocalizedMessage
public LocalizedMessage(java.util.ResourceBundle bundle, java.lang.String key)
- Since:
- 2.8
-
LocalizedMessage
public LocalizedMessage(java.util.ResourceBundle bundle, java.lang.String key, java.lang.Object arg)
-
LocalizedMessage
public LocalizedMessage(java.lang.String baseName, java.util.Locale locale, java.lang.String key, java.lang.Object arg)
-
LocalizedMessage
public LocalizedMessage(java.util.ResourceBundle bundle, java.util.Locale locale, java.lang.String key, java.lang.Object arg)
-
LocalizedMessage
public LocalizedMessage(java.util.Locale locale, java.lang.String key, java.lang.Object arg)
-
LocalizedMessage
public LocalizedMessage(java.lang.String messagePattern, java.lang.Object arg1, java.lang.Object arg2)
-
LocalizedMessage
public LocalizedMessage(java.lang.String baseName, java.lang.String key, java.lang.Object arg1, java.lang.Object arg2)
-
LocalizedMessage
public LocalizedMessage(java.util.ResourceBundle bundle, java.lang.String key, java.lang.Object arg1, java.lang.Object arg2)
-
LocalizedMessage
public LocalizedMessage(java.lang.String baseName, java.util.Locale locale, java.lang.String key, java.lang.Object arg1, java.lang.Object arg2)
-
LocalizedMessage
public LocalizedMessage(java.util.ResourceBundle bundle, java.util.Locale locale, java.lang.String key, java.lang.Object arg1, java.lang.Object arg2)
-
LocalizedMessage
public LocalizedMessage(java.util.Locale locale, java.lang.String key, java.lang.Object arg1, java.lang.Object arg2)
-
-
Method Detail
-
setLoggerName
public void setLoggerName(java.lang.String name)
Set the name of the Logger.- Specified by:
setLoggerName
in interfaceLoggerNameAwareMessage
- Parameters:
name
- The name of the Logger.
-
getLoggerName
public java.lang.String getLoggerName()
Returns the name of the Logger.- Specified by:
getLoggerName
in interfaceLoggerNameAwareMessage
- Returns:
- the name of the Logger.
-
getFormattedMessage
public java.lang.String getFormattedMessage()
Returns the formatted message after looking up the format in the resource bundle.- Specified by:
getFormattedMessage
in interfaceMessage
- Returns:
- The formatted message String.
-
getFormat
public java.lang.String getFormat()
Description copied from interface:Message
Gets the format portion of the Message.- Specified by:
getFormat
in interfaceMessage
- Returns:
- The message format. Some implementations, such as ParameterizedMessage, will use this as the message "pattern". Other Messages may simply return an empty String. TODO Do all messages have a format? What syntax? Using a Formatter object could be cleaner. (RG) In SimpleMessage the format is identical to the formatted message. In ParameterizedMessage and StructuredDataMessage it is not. It is up to the Message implementer to determine what this method will return. A Formatter is inappropriate as this is very specific to the Message implementation so it isn't clear to me how having a Formatter separate from the Message would be cleaner.
-
getParameters
public java.lang.Object[] getParameters()
Description copied from interface:Message
Gets parameter values, if any.- Specified by:
getParameters
in interfaceMessage
- Returns:
- An array of parameter values or null.
-
getThrowable
public java.lang.Throwable getThrowable()
Description copied from interface:Message
Gets the throwable, if any.- Specified by:
getThrowable
in interfaceMessage
- Returns:
- the throwable or null.
-
getResourceBundle
protected java.util.ResourceBundle getResourceBundle(java.lang.String rbBaseName, java.util.Locale resourceBundleLocale, boolean loop)
Override this to use a ResourceBundle.Control in Java 6- Parameters:
rbBaseName
- The base name of the resource bundle, a fully qualified class name.resourceBundleLocale
- The locale to use when formatting the message.loop
- If true the key will be treated as a package or class name and a resource bundle will be located based on all or part of the package name. If false the key is expected to be the exact bundle id.- Returns:
- The ResourceBundle.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
writeObject
private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException
- Throws:
java.io.IOException
-
readObject
private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-
-