# SimpleFormatter

public class **SimpleFormatter** extends [Formatter](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/Formatter.html)  
Print a brief summary of the `LogRecord` in a human readable
format. The summary will typically be 1 or 2 lines.


**Configuration:**
The `SimpleFormatter` is initialized with the
[format string](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Formatter.html#syntax)
specified in the `java.util.logging.SimpleFormatter.format`
property to {@linkplain #format format} the log messages.
This property can be defined
in the {@linkplain LogManager#getProperty logging properties}
configuration file
or as a system property. If this property is set in both
the logging properties and system properties,
the format string specified in the system property will be used.
If this property is not defined or the given format string
is {@linkplain java.util.IllegalFormatException illegal},
the default format is implementation-specific.

##### See Also

- `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Formatter.html`

### Public Constructor Summary

|---|---|
|   | [SimpleFormatter](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/SimpleFormatter.html#SimpleFormatter())() |

### Public Method Summary

|---|---|
| synchronized [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [format](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/SimpleFormatter.html#format(java.util.logging.LogRecord))([LogRecord](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/LogRecord.html) record) Format the given LogRecord. |

### Inherited Method Summary

From class [java.util.logging.Formatter](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/Formatter.html)

|---|---|
| abstract [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [format](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/Formatter.html#format(java.util.logging.LogRecord))([LogRecord](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/LogRecord.html) record) Format the given log record and return the formatted string. |
| synchronized [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [formatMessage](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/Formatter.html#formatMessage(java.util.logging.LogRecord))([LogRecord](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/LogRecord.html) record) Localize and format the message string from a log record. |
| [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getHead](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/Formatter.html#getHead(java.util.logging.Handler))([Handler](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/Handler.html) h) Return the header string for a set of formatted records. |
| [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [getTail](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/Formatter.html#getTail(java.util.logging.Handler))([Handler](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/Handler.html) h) Return the tail string for a set of formatted records. |

From class [java.lang.Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html)

|---|---|
| [Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) | [clone](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#clone())() Creates and returns a copy of this `Object`. |
| boolean | [equals](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#equals(java.lang.Object))([Object](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html) obj) Compares this instance with the specified object and indicates if they are equal. |
| void | [finalize](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#finalize())() Invoked when the garbage collector has detected that this instance is no longer reachable. |
| final [Class](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Class.html)\<?\> | [getClass](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#getClass())() Returns the unique instance of `https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Class.html` that represents this object's class. |
| int | [hashCode](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#hashCode())() Returns an integer hash code for this object. |
| final void | [notify](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#notify())() Causes a thread which is waiting on this object's monitor (by means of calling one of the `wait()` methods) to be woken up. |
| final void | [notifyAll](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#notifyAll())() Causes all threads which are waiting on this object's monitor (by means of calling one of the `wait()` methods) to be woken up. |
| [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html) | [toString](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#toString())() Returns a string containing a concise, human-readable description of this object. |
| final void | [wait](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#wait(long,%20int))(long timeout, int nanos) Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object or until the specified timeout expires. |
| final void | [wait](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#wait(long))(long timeout) Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object or until the specified timeout expires. |
| final void | [wait](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/Object.html#wait())() Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object. |

## Public Constructors

#### public
**SimpleFormatter**
()

<br />

## Public Methods

#### public synchronized [String](https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html)
**format**
([LogRecord](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/LogRecord.html) record)

Format the given LogRecord.


The formatting can be customized by specifying the
[format string](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Formatter.html#syntax)
in the [`java.util.logging.SimpleFormatter.format`](https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/SimpleFormatter#formatting) property.
The given `LogRecord` will be formatted as if by calling:

        https://developers.google.com/j2objc/javadoc/jre/reference/java/lang/String.html#format(java.lang.String,%20java.lang.Object...)(format, date, source, logger, level, message, thrown);
     
where the arguments are:  

1. `format` - the `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Formatter.html` format string specified in the `java.util.logging.SimpleFormatter.format` property or the default format.
2. `date` - a `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/Date.html` object representing {@linkplain LogRecord#getMillis event time} of the log record.
3. `source` - a string representing the caller, if available; otherwise, the logger's name.
4. `logger` - the logger's name.
5. `level` - the {@linkplain Level#getLocalizedName log level}.
6. `message` - the formatted log message returned from the `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/Formatter.html#formatMessage(java.util.logging.LogRecord)` method. It uses `https://developers.google.com/j2objc/javadoc/jre/reference/java/text/MessageFormat.html` formatting and does not use the `java.util.Formatter
   format` argument.
7. `thrown` - a string representing the {@linkplain LogRecord#getThrown throwable} associated with the log record and its backtrace beginning with a newline character, if any; otherwise, an empty string.

Some example formats:  

- `java.util.logging.SimpleFormatter.format="%4$s: %5$s [%1$tc]%n"`

  This prints 1 line with the log level (`4$`),
  the log message (`5$`) and the timestamp (`1$`) in
  a square bracket.

  ```
       WARNING: warning message [Tue Mar 22 13:11:31 PDT 2011]
       
  ```
- `java.util.logging.SimpleFormatter.format="%1$tc %2$s%n%4$s: %5$s%6$s%n"`

  This prints 2 lines where the first line includes
  the timestamp (`1$`) and the source (`2$`);
  the second line includes the log level (`4$`) and
  the log message (`5$`) followed with the throwable
  and its backtrace (`6$`), if any:

  ```
       Tue Mar 22 13:11:31 PDT 2011 MyClass fatal
       SEVERE: several message with an exception
       java.lang.IllegalArgumentException: invalid argument
               at MyClass.mash(MyClass.java:9)
               at MyClass.crunch(MyClass.java:6)
               at MyClass.main(MyClass.java:3)
       
  ```
- `java.util.logging.SimpleFormatter.format="%1$tb %1$td, %1$tY %1$tl:%1$tM:%1$tS %1$Tp %2$s%n%4$s: %5$s%n"`

  This prints 2 lines similar to the example above
  with a different date/time formatting and does not print
  the throwable and its backtrace:

  ```
       Mar 22, 2011 1:11:31 PM MyClass fatal
       SEVERE: several message with an exception
       
  ```

This method can also be overridden in a subclass.
It is recommended to use the `https://developers.google.com/j2objc/javadoc/jre/reference/java/util/logging/Formatter.html#formatMessage(java.util.logging.LogRecord)`
convenience method to localize and format the message field.

##### Parameters

| record | the log record to be formatted. |
|---|---|

##### Returns

- a formatted log record