Skip to content

Most visited

Recently visited

added in API level 1


public class SimpleFormatter
extends Formatter

   ↳ java.util.logging.Formatter
     ↳ java.util.logging.SimpleFormatter

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 specified in the java.util.logging.SimpleFormatter.format property to format the log messages. This property can be defined in the 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 illegal, the default format is implementation-specific.

See also:


Public constructors


Public methods

String format(LogRecord record)

Format the given LogRecord.

Inherited methods

Public constructors


added in API level 1
SimpleFormatter ()

Public methods


added in API level 1
String format (LogRecord record)

Format the given LogRecord.

The formatting can be customized by specifying the format string in the java.util.logging.SimpleFormatter.format property. The given LogRecord will be formatted as if by calling:

    String.format(format, date, source, logger, level, message, thrown);
where the arguments are:
  1. format - the java.util.Formatter format string specified in the java.util.logging.SimpleFormatter.format property or the default format.
  2. date - a Date object representing 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 log level.
  6. message - the formatted log message returned from the formatMessage(LogRecord) method. It uses java.text formatting and does not use the java.util.Formatter format argument.
  7. thrown - a string representing the 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(
                 at MyClass.crunch(
                 at MyClass.main(
  • 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 formatMessage(LogRecord) convenience method to localize and format the message field.

record LogRecord: the log record to be formatted.

String a formatted log record

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields


Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (April 2018 — Developer Survey)