1

Java ロギング メカニズムについて学習していたので、次のコードを書きました。次のコードは、2 つのメッセージを という名前のファイルに記録しますLOGGED.xml

import java.util.logging.Logger;
import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.io.IOException;

class Tester {
  public static void main(String args[]) throws IOException{
    Logger logger = Logger.getLogger(Tester.class.getName());
    FileHandler fHandler = new FileHandler("LOGGED.xml");
    logger.addHandler(fHandler);
    logger.log(Level.INFO,"This is an info log message");
    logger.log(Level.WARNING,"This is a warning message");
    fHandler.close();
  }
}

以下は、xmlファイルに表示される内容です。

<log>
 <record>
  <date>2013-02-02T16:42:48</date>
  <millis>1359803568992</millis>
  <sequence>0</sequence>
  <logger>Tester</logger>
  <level>INFO</level>
  <class>Tester</class>
  <method>main</method>
  <thread>1</thread>
  <message>This is an info log message</message>
 </record>

 <record>
  <date>2013-02-02T16:42:49</date>
  <millis>1359803569031</millis>
  <sequence>1</sequence>
  <logger>Tester</logger>
  <level>WARNING</level>
  <class>Tester</class>
  <method>main</method>
  <thread>1</thread>
  <message>This is a warning message</message>
 </record>
</log>

いらないものがたくさんあります。xml に挿入するデータを制御する方法はありますか? ある時点で、文字列メッセージだけを見たいと思っています。

4

2 に答える 2

4

ログを xml として保存する必要がありますか? それらをプレーンテキストとして取得するには、これを試してください:

fHandler.setFormatter(new SimpleFormatter());

独自のフォーマッタを実装することもできます

于 2013-02-02T11:32:47.970 に答える
1

残念ながら、組み込みXMLFormatter.format()メソッドは XML 形式をかなりハードコードしています。別のフォーマッタが必要な場合は、独自のフォーマッタを実装して ( に似ていますXMLFormatter)、明示的に使用できます。

fHandler.setFormatter(new MyXMLFormatter());
于 2013-02-02T11:37:35.930 に答える