Javaでファイル内容をtailしたい。Apache commons ioのTailerとTailerListenerAdapterを使ってみた。必要な依存関係のためにクラスパスに storm-core-1.1.1.jar を含めました。プログラムがコンパイルされて実行されます。しかし、TailerListenerAdapter の「ハンドル」メソッドはまったく呼び出されず、メイン メソッド内で実行が停止します。コードは次のとおりです。
import org.apache.storm.shade.org.apache.commons.io.input.TailerListenerAdapter;
import org.apache.storm.shade.org.apache.commons.io.input.Tailer;
import org.apache.storm.shade.org.apache.commons.io.input.TailerListener;
import java.io.File;
public class LogTailTest {
/**
* TailerListener implementation.
*/
static public class ShowLinesListener extends TailerListenerAdapter {
@Override
public void handle(String line) {
System.out.println(line);
System.out.println("inside handle");
}
}
public static void main(String args[]) {
TailerListener listener = new ShowLinesListener();
File file = new File("C:/LogFiles/Radius-log");
System.out.println("inside main");
Tailer tailer = Tailer.create(file, listener);
tailer.run();
}
}