プログラムにロガーを追加し、ネットサーフィンをしながら、基本的な 2 行の定義を持つ非常に単純なロガーをコードに追加します。
private static final Logger LOG = Logger.getLogger(GUI.class.getName());
public MyClass(){
//other stuff...
LOG.info("text to log");
//other stuff...
}
数時間の開発の後、ログに記録されたテキストのスタイルをフォーマットする方法を知り、このクラスにたどり着きました:
java.util.logging.SimpleFormatter
私が見つけることができるJavadocを読む:
フォーマットは、java.util.logging.SimpleFormatter.format プロパティでフォーマット文字列を指定することによってカスタマイズできます。
いくつかの例もあります:
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]
それぞれ試してみましたが、「フォーマット」フィールドは「見えない」(プライベートだと思います)ので、直接編集できません。setStringVar(String regex); のようなメソッドはありません。外部から var を設定します。
クラス public class MyClass extends SimpleFormatter{ を拡張してみました
ただし、「フォーマット」変数は編集できません。また、Formatter (SimpleFormatter のスーパークラス) を拡張しようとしましたが、成功しませんでした。
私ができる唯一のことは、SimpleFormatter を拡張して手動でオーバーライドすることです。 public String format(LogRecord rec); 退屈で複雑なコードで。
SimpleFormatter クラスの内部正規表現リーダーを単純に使用する方法があるかどうか疑問に思っていました
編集:エラー