Module java.logging

Class Formatter

java.lang.Object
java.util.logging.Formatter
直接已知的子类:
SimpleFormatter, XMLFormatter

public abstract class Formatter extends Object
Formatter提供了对LogRecords进行格式化的支持。

通常每个日志处理程序(Handler)都会有一个与之关联的Formatter。Formatter接受一个LogRecord并将其转换为字符串。

一些格式化程序(例如XMLFormatter)需要在一组格式化记录周围包装头部和尾部字符串。可以使用getHeader和getTail方法获取这些字符串。

自版本:
1.4
  • Constructor Details

    • Formatter

      protected Formatter()
      构造一个新的格式化程序。
  • Method Details

    • format

      public abstract String format(LogRecord record)
      格式化给定的日志记录并返回格式化后的字符串。

      生成的格式化字符串通常包括LogRecord的消息字段的本地化和格式化版本。建议使用formatMessage(java.util.logging.LogRecord)便捷方法来本地化和格式化消息字段。

      参数:
      record - 要格式化的日志记录。
      返回:
      格式化后的日志记录
    • getHead

      public String getHead(Handler h)
      返回一组格式化记录的头部字符串。

      此基类返回一个空字符串,但子类可以覆盖此方法。

      参数:
      h - 目标处理程序(可以为null)
      返回:
      头部字符串
    • getTail

      public String getTail(Handler h)
      返回一组格式化记录的尾部字符串。

      此基类返回一个空字符串,但子类可以覆盖此方法。

      参数:
      h - 目标处理程序(可以为null)
      返回:
      尾部字符串
    • formatMessage

      public String formatMessage(LogRecord record)
      本地化并格式化来自日志记录的消息字符串。此方法为Formatter子类提供了一个方便的方法,用于在执行格式化时使用。

      首先将消息字符串本地化为格式字符串,使用记录的ResourceBundle。(如果没有ResourceBundle,或者找不到消息键,则将键用作格式字符串。)格式字符串使用java.text样式格式化。

      • 如果没有参数,则不使用格式化程序。
      • 否则,如果字符串包含"{<digit>",其中<digit>在[0-9]中,将使用java.text.MessageFormat格式化字符串。
      • 否则不执行格式化。
      参数:
      record - 包含原始消息的日志记录
      返回:
      本地化和格式化后的消息