public class SimpleFormatter extends Formatter
LogRecord
の簡単なサマリーを人が理解できる形式で出力します。このサマリーは通常、1行か2行になります。
構成:SimpleFormatter
は、ログ・メッセージをフォーマットするために、java.util.logging.SimpleFormatter.format
プロパティで指定されたフォーマット文字列で初期化されます。このプロパティは、ロギング・プロパティの構成ファイルか、システム・プロパティとして定義されます。このプロパティがロギング・プロパティとシステム・プロパティの両方で設定されている場合は、システム・プロパティで指定されたフォーマット文字列が使用されます。このプロパティが定義されていないか、指定されたフォーマット文字列がillegalである場合、デフォルトのフォーマットは実装に固有となります。
Formatter
コンストラクタと説明 |
---|
SimpleFormatter() |
修飾子と型 | メソッドと説明 |
---|---|
String |
format(LogRecord record)
指定されたLogRecordをフォーマットします。
|
formatMessage, getHead, getTail
public String format(LogRecord record)
フォーマットは、java.util.logging.SimpleFormatter.format
プロパティでフォーマット文字列を指定することでカスタマイズできます。指定されたLogRecord
は、次を呼び出すようにフォーマットされます。
String.format
(format, date, source, logger, level, message, thrown);
ここで、引数は次のとおりです。format
- java.util.logging.SimpleFormatter.format
プロパティまたはデフォルトのフォーマットで指定されたjava.util.Formatter
のフォーマット文字列。date
- ログ・レコードのイベントの時間を表すDate
オブジェクト。source
- 使用可能な場合は、呼出し元を表す文字列。使用できない場合は、ロガーの名前。logger
- ロガーの名前。level
- ログ・レベル。message
- Formatter.formatMessage(LogRecord)
メソッドから返された、フォーマットされたログ・メッセージ。java.text
のフォーマットを使用し、java.util.Formatter format
引数は使用しません。thrown
- ログ・レコードおよび改行文字で始まるそのバックトレースに関連付けられたthrowableを表現する文字列(存在する場合)。バックトレースがない場合は、空の文字列。フォーマット例を示します。
java.util.logging.SimpleFormatter.format="%4$s: %5$s [%1$tc]%n"
この例では、ログ・レベル(4$
)、ログ・メッセージ(5$
)、およびタイムスタンプ(1$
)を角括弧に囲んで1行で出力します。
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"
この例は、1行目にはタイムスタンプ(1$
)とソース(2$
)、2行目にはログ・レベル(4$
)とログ・メッセージ(5$
)、使用可能な場合は、その後にスロー可能オブジェクトとそのバックトレース(6$
)を含む、2行を出力します。
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"
次の例は、前の例と同じように2行を出力しますが、異なる日付/時間のフォーマットを使用し、スロー可能オブジェクトとそのバックトレースは出力しません。
Mar 22, 2011 1:11:31 PM MyClass fatal SEVERE: several message with an exception
このメソッドは、サブクラスでオーバーライドすることもできます。メッセージ・フィールドをローカライズし、フォーマットするには、Formatter.formatMessage(java.util.logging.LogRecord)
簡易メソッドを使用することをお薦めします。
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.