Итак, у меня есть файл журнала, который дает подробную информацию о блокировке и разблокировке узлов. Время и дата 18:02:21 и идентификатор "ieArcxb4498-1" для каждого узла. < /p>
150: 2017-06-14 18:02:21 INFO monitorinfo : Info: Lock VCS on node "ieatrcxb4498-1"
264: 2017-06-14 18:02:21 INFO monitorinfo : Info: Unlock VCS on node "ieatrcxb4498-1"
268: 2017-06-14 18:02:21 INFO monitorinfo : Info: Lock VCS on node "ieatrcxb4496-1"
382: 2017-06-14 18:02:21 INFO monitorinfo : Info: Unlock VCS on node "ieatrcxb4496-1"
407: 2017-06-14 18:02:21 INFO monitorinfo : Info: Lock VCS on node "ieatrcxb4500-1"
473: 2017-06-14 18:02:21 INFO monitorinfo : Info: Unlock VCS on node "ieatrcxb4500-1"
< /code>
Что я хочу сделать, это запустить файл журнала с помощью моей программы.Node Lock Unlock
ieatrcxb4498-1 18:02:21
ieatrcxb4498-1 18:02:21
ieatrcxb4500-1 18:02:21
ieatrcxb4500-1 18:02:21
< /code>
У меня есть базовая программа, которую я нашел здесь и скорректировал, но я изо всех сил пытаюсь заставить ее работать должным образом. < /p>
public class Main {
private static class Record
{
public String node;
public Date lock;
public Date unlock;
@Override
public String toString() {
return "Record{" +
", node='" + node + '\'' +
", lock='" + lock + '\'' +
", unlock='" + unlock + '\'' +
'}';
}
}
public static void main(String[] args) throws Exception
{
Scanner s = new Scanner(new FileReader(new File("input.txt")));
Record currentRecord = null;
ArrayList list = new ArrayList();
while (s.hasNextLine()) {
String line = s.nextLine();
if ("SHOW_PLAN BEGIN".equals(line)) {
currentRecord = new Record();
} else if ("SHOW_PLAN END".equals(line)) {
list.add(currentRecord);
currentRecord = null;
} else if (currentRecord.lock == null) {
currentRecord.lock = new SimpleDateFormat(
"HH:mm:ss").parse(line);
}else if(currentRecord.unlock == null){
currentRecord.unlock = new SimpleDateFormat(
"HH:mm:ss").parse(line);
}
else if (line.startsWith("traceroute to ")) {
Pattern p = Pattern.compile(
"monitor ([^ ]+) [^,]+, ([^ ]+) hops max, ([^ ]+) byte packets");
Matcher m = p.matcher(line);
if (m.matches()) {
currentRecord.node = m.group(1);
// currentRecord.lock = m.
// currentRecord.unlock = m.group(3);
}
}
}
for (int i = 0; i < list.size(); i++)
System.out.println(list.get(i).toString());
}
}
Подробнее здесь: https://stackoverflow.com/questions/450 ... anted-data
Анализировать файл журнала и удалить нежелательные данные ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение