私は自分のログファイルを監視するためにjava taillistenerを使用しています。ログファイルが更新されると、ログメッセージを出力します。より多くのファイル(たとえば10個のファイル)を監視しようとすると、ログファイルでログが更新されてもコンソールにメッセージは表示されません。私のコードは以下のとおりです。java taillistenerで、より多くのログファイルを処理する方法
ScheduledThreadPoolExecutor logMonitorThreadPoolExec;
if (listOfFiles[i].isFile())
{
files = listOfFiles[i].getName();
File pcounter_log = new File(files);
Tailer logMessages = new Tailer(pcounter_log, new FileListener(files,element.getLogPattern()),
5000, true);
logMonitorThreadPoolExec.scheduleWithFixedDelay(logMessages, 5, 20,
TimeUnit.SECONDS);
}
public class FileListener extends TailerListenerAdapter {
private final String fileName;
public FileListener(String fileName, ArrayList<String> pattern) {
this.fileName = fileName;
}
public void handle(String line) {
System.out.println(fileName+"<---->"+line);
}
}
どうすれば対応できますか?
このコードはコンパイルされません。 7行目は有効なJavaではありません。実際のコードスニペットを提供してくれれば助けになるでしょう。ハッキングされたものではありません。 –
これは私の本当のスニペットです。単に "}"を削除しました。 – ssbecse
'ScheduledThreadPoolExecutor logMonitorThreadPoolExec.scheduleWithFixedDelay(logMessages、5、20、TimeUnit.SECONDS);'は有効なJava文でも有効なJava宣言でもありません。 –