Archived
0

add log watcher to client

This commit is contained in:
iMoHax
2016-06-03 16:39:53 +03:00
parent fa3ff32587
commit ef5ef4413c
8 changed files with 281 additions and 5 deletions

View File

@@ -0,0 +1,50 @@
package ru.trader.edlog;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class EDLogReader extends LogReader {
private final static Logger LOG = LoggerFactory.getLogger(EDLogReader.class);
private final static String LOG_FILE_PATTERN = ".+NetLog\\.log$";
private final static Pattern SYSTEM_CHANGE_REGEXP = Pattern.compile("System (.+) pos (-?[\\d\\.]+),(-?[\\d\\.]+),(-?[\\d\\.]+)");
private final static Pattern UNDOCK_REGEXP = Pattern.compile("undocked");
public EDLogReader() {
super(LOG_FILE_PATTERN);
}
@Override
protected void outLine(String line) {
super.outLine(line);
Matcher matcher = SYSTEM_CHANGE_REGEXP.matcher(line);
if (matcher.find()){
parseSystem(matcher);
return;
}
matcher = UNDOCK_REGEXP.matcher(line);
if (matcher.find()){
undock();
}
}
private void parseSystem(Matcher matcher) {
String name = matcher.group(1);
double x = Double.valueOf(matcher.group(2));
double y = Double.valueOf(matcher.group(3));
double z = Double.valueOf(matcher.group(4));
changeSystem(name, x, y, z);
}
protected void changeSystem(String name, double x, double y, double z) {
LOG.debug("System change to {}, coordinates: {},{},{}", name, x, y, z);
}
protected void undock() {
LOG.debug("Undocked");
}
}