【发布时间】:2011-05-18 15:31:30
【问题描述】:
我正在使用 java taillistener 来监控我的日志文件。每当更新日志文件时,它都会打印日志消息。当驱动一个或两个日志文件时,它工作正常。但是当尝试监控更多文件时(比如 10 个文件),即使在日志文件中更新日志,控制台也不会显示任何消息。我的代码如下。
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。如果您向我们提供真正的代码 sn-ps 会有所帮助......而不是被黑客入侵的东西。
-
这是我真正的sn-p。刚刚删除了“}”。
-
ScheduledThreadPoolExecutor logMonitorThreadPoolExec.scheduleWithFixedDelay( logMessages, 5, 20, TimeUnit.SECONDS );既不是有效的 Java 语句也不是有效的 Java 声明。
标签: java logging taillistener