4

私のコードを以下に示します。

public static void main(String[] args) {
        // TODO code application logic here
        File pcounter_log = new File("c:\development\temp\test.log");

    try {
        TailerListener listener = new PCTailListener();
        Tailer tailer = new Tailer(pcounter_log, listener, 5000,true);

        Thread thread = new Thread(tailer);
        thread.start();
    } catch (Exception e) {
        System.out.println(e);
    }
}

public class PCTailListener extends TailerListenerAdapter {
 public void handle(String line) {
  System.out.println(line);
 }
}

.ie、私はログファイルを監視しています。ログファイル(c:\ development \ temp \ test.log)でログメッセージが更新されるたびに、ログメッセージが出力されます。

問題は、ログファイルでログメッセージが更新されるたびに、同じログメッセージが2回表示され、場合によっては3〜4回表示されることです。この重複したログメッセージを回避する方法。

4

3 に答える 3

6

メッセージが重複する理由の 1 つは、Tailer.create 静的メソッドを使用して Tailer を作成している場合、ログを監視するプロセスが自動的に開始されることです。

別の監視インスタンスを開始し、同じエントリを 2 回出力する Tailer.run を実行するという間違いを犯しています。

于 2015-09-15T18:45:49.247 に答える