MessageFormatter (SLF4J 1.7.4 API)
Date: 2013-03-18

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.slf4j.helpers
Class MessageFormatter

    java.lang.Object
      org.slf4j.helpers.MessageFormatter

    public final class MessageFormatter

extends Object

Formats messages according to very simple substitution rules. Substitutions can be made 1, 2 or more arguments.

For example,

     MessageFormatter.format("Hi {}.", "there")

will return the string "Hi there.".

The {} pair is called the formatting anchor. It serves to designate the location where arguments need to be substituted within the message pattern.

In case your message contains the '{' or the '}' character, you do not have to do anything special unless the '}' character immediately follows '{'. For example,

     MessageFormatter.format("Set {1,2,3} is not equal to {}.", "1,2");

will return the string "Set {1,2,3} is not equal to 1,2.".

If for whatever reason you need to place the string "{}" in the message without its formatting anchor meaning, then you need to escape the '{' character with '\', that is the backslash character. Only the '{' character should be escaped. There is no need to escape the '}' character. For example,

     MessageFormatter.format("Set \\{} is not equal to {}.", "1,2");

will return the string "Set {} is not equal to 1,2.".

The escaping behavior just described can be overridden by escaping the escape character '\'. Calling

     MessageFormatter.format("File name is C:\\\\{}.", "file.zip");

will return the string "File name is C:\file.zip".

The formatting conventions are different than those of `MessageFormat` which ships with the Java platform. This is justified by the fact that SLF4J's implementation is 10 times faster than that of `MessageFormat`. This local performance difference is both measurable and significant in the larger context of the complete logging processing chain.

See also `format(String, Object)`, `format(String, Object, Object)` and `arrayFormat(String, Object[])` methods for more details.

Author:
  Ceki Gülcü, Joern Huxhorn

Constructor Summary
`MessageFormatter()`

Method Summary
`static FormattingTuple` | `arrayFormat(String messagePattern, Object[] argArray)` Same principle as the `format(String, Object)` and `format(String, Object, Object)` methods except that any number of arguments can be passed in an array.
`static FormattingTuple` | `format(String messagePattern, Object arg)` Performs single argument substitution for the 'messagePattern' passed as parameter.
`static FormattingTuple` | `format(String messagePattern, Object arg1, Object arg2)` Performs a two argument substitution for the 'messagePattern' passed as parameter.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### MessageFormatter

    public MessageFormatter()

Method Detail

### format

    public static final FormattingTuple format(String messagePattern,
                                               Object arg)

  Performs single argument substitution for the 'messagePattern' passed as parameter.

  For example,

       MessageFormatter.format("Hi {}.", "there");

  will return the string "Hi there.".

  Parameters:
    `messagePattern` - The message pattern which will be parsed and formatted
    `argument` - The argument to be substituted in place of the formatting anchor
  Returns:
    The formatted message

### format

    public static final FormattingTuple format(String messagePattern,
                                               Object arg1,
                                               Object arg2)

  Performs a two argument substitution for the 'messagePattern' passed as parameter.

  For example,

       MessageFormatter.format("Hi {}. My name is {}.", "Alice", "Bob");

  will return the string "Hi Alice. My name is Bob.".

  Parameters:
    `messagePattern` - The message pattern which will be parsed and formatted
    `arg1` - The argument to be substituted in place of the first formatting anchor
    `arg2` - The argument to be substituted in place of the second formatting anchor
  Returns:
    The formatted message

### arrayFormat

    public static final FormattingTuple arrayFormat(String messagePattern,
                                                    Object[] argArray)

  Same principle as the `format(String, Object)` and `format(String, Object, Object)` methods except that any number of arguments can be passed in an array.

  Parameters:
    `messagePattern` - The message pattern which will be parsed and formatted
    `argArray` - An array of arguments to be substituted in place of formatting anchors
  Returns:
    The formatted message

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2005-2013 QOS.ch. All Rights Reserved.