diff --git a/source/de/anomic/server/logging/LogalizerHandler.java b/source/de/anomic/server/logging/LogalizerHandler.java
index 7ace4e738..bf56ca7f2 100644
--- a/source/de/anomic/server/logging/LogalizerHandler.java
+++ b/source/de/anomic/server/logging/LogalizerHandler.java
@@ -49,6 +49,8 @@ import java.io.FilenameFilter;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Set;
import java.util.logging.Handler;
import java.util.logging.LogManager;
import java.util.logging.LogRecord;
@@ -58,8 +60,8 @@ import de.anomic.server.logging.logParsers.LogParser;
public class LogalizerHandler extends Handler {
- public static boolean enabled;
- public static boolean debug;
+ public static boolean enabled=false;
+ public static boolean debug=false;
private String logParserPackage;
private HashMap parsers;
@@ -93,6 +95,7 @@ public class LogalizerHandler extends Handler {
LogParser theLogParser = (LogParser) theParser;
//System.out.println(bla.getName() + " is a logParser");
parsers.put(theLogParser.getParserType(), theParser);
+
if (debug) System.out.println("Added " + theLogParser.getClass().getName() + " as " + theLogParser.getParserType() + " Parser.");
}
else {
@@ -140,6 +143,14 @@ public class LogalizerHandler extends Handler {
}
}
+ public Set getParserNames() {
+ return parsers.keySet();
+ }
+
+ public Hashtable getParserResults(LogParser parsername) {
+ return parsername.getResults();
+ }
+
public void close() throws SecurityException {
// TODO Auto-generated method stub
@@ -155,6 +166,4 @@ public class LogalizerHandler extends Handler {
return name.matches(".*.class");
}
};
-
-
}
diff --git a/source/de/anomic/server/logging/logParsers/LogParser.java b/source/de/anomic/server/logging/logParsers/LogParser.java
index ae267ad08..646cef732 100644
--- a/source/de/anomic/server/logging/logParsers/LogParser.java
+++ b/source/de/anomic/server/logging/logParsers/LogParser.java
@@ -44,6 +44,8 @@
package de.anomic.server.logging.logParsers;
+import java.util.Hashtable;
+
/**
* This is the logParser-Interface which all yacy Logalizer-Parser must
* implement.
@@ -75,4 +77,6 @@ public interface LogParser {
* PLASMA or YACY
*/
public String getParserType();
+ public Hashtable getResults();
+ public double getParserVersion();
}
diff --git a/source/de/anomic/server/logging/logParsers/LogParserPLASMA.java b/source/de/anomic/server/logging/logParsers/LogParserPLASMA.java
index 792eca9a4..c63afb310 100644
--- a/source/de/anomic/server/logging/logParsers/LogParserPLASMA.java
+++ b/source/de/anomic/server/logging/logParsers/LogParserPLASMA.java
@@ -45,10 +45,15 @@
package de.anomic.server.logging.logParsers;
import java.util.HashSet;
+import java.util.Hashtable;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class LogParserPLASMA implements LogParser{
+
+ private final double parserVersion = 0.1;
+ private final String parserType = "PLASMA";
+
//RegExp for LogLevel I
private static Pattern i1 = Pattern.compile("Received (\\d*) URLs from peer [\\w-_]{12}:[\\w-_]*/[\\w.-]* in (\\d*) ms, Blocked (\\d*) URLs");
private static Pattern i2 = Pattern.compile("Received (\\d*) Entries (\\d*) Words \\[[\\w-_]{12} .. [\\w-_]{12}\\]/[\\w.-]* from [\\w-_]{12}:[\\w-_]*/[\\w.-]*, processed in (\\d*) milliseconds, requesting (\\d*)/(\\d*) URLs, blocked (\\d*) RWIs");
@@ -62,7 +67,7 @@ public class LogParserPLASMA implements LogParser{
private static Pattern i9 = Pattern.compile("RankingDistribution - transmitted file [\\w-:.\\\\]* to [\\w.]*:\\d* successfully in (\\d)* seconds");
private static Pattern i10 = Pattern.compile("RankingDistribution - error transmitting file");
private static Pattern i11 = Pattern.compile("Peer [\\w-_]*:[\\w-_]{12} is busy\\. Waiting \\d* ms\\.");
- //private static Pattern i12 = Pattern.compile("\\*Indexed \\d* words in URL [\\w:.&?/%-~$\u00A7@=]* \\[[\\w-_]{12}\\]");
+ //private static Pattern i12 = Pattern.compile("\\*Indexed \\d* words in URL [\\w:.&/%-~$\u00A7@=]* \\[[\\w-_]{12}\\]");
private static Pattern i13 = Pattern.compile("WROTE HEADER for |LOCALCRAWL\\[\\d*, \\d*, \\d*, \\d*\\]|REJECTED WRONG STATUS TYPE");
//RegExp for LogLevel W
private static Pattern w1 = Pattern.compile("found not enough \\(\\d*\\) peers for distribution");
@@ -74,7 +79,7 @@ public class LogParserPLASMA implements LogParser{
private Matcher m;
//RegExp for advancedParser
//private Pattern adv1 = Pattern.compile("\\*Indexed (\\d*) words in URL [\\w:.&?/%-=]* \\[[\\w-_]{12}\\]\\n\\tDescription: ([\\w- ]*)\\n\\tMimeType: ([\\w-_/]*) \\| Size: (\\d*) bytes \\| Anchors: (\\d*)\\n\\tStackingTime: (\\d*) ms \\| ParsingTime: (\\d*) ms \\| IndexingTime: (\\d*) ms \\| StorageTime: (\\d*) ms");
- private Pattern adv1 = Pattern.compile("\\*Indexed (\\d*) words in URL [\\w:.&?/%-~$\u00A7@=]* \\[[\\w-_]{12}\\][\\r\\n]*\\tDescription: ([\\w-\\.,:!?='\"|/+@() ]*)[\\r\\n]*\\tMimeType: ([\\w-_~/]*) \\| Size: (\\d*) bytes \\| Anchors: (\\d*)[\\r\\n]*\\tStackingTime:[ ]*(\\d*) ms \\| ParsingTime:[ ]*(\\d*) ms \\| IndexingTime: (\\d*) ms \\| StorageTime: (\\d*) ms");
+ private Pattern adv1 = Pattern.compile("\\*Indexed (\\d*) words in URL [\\w:.&/%-~$\u00A7@=]* \\[[\\w-_]{12}\\][\\r\\n]*\\tDescription: ([\\w-\\.,:!='\"|/+@() ]*)[\\r\\n]*\\tMimeType: ([\\w-_~/]*) \\| Size: (\\d*) bytes \\| Anchors: (\\d*)[\\r\\n]*\\tStackingTime:[ ]*(\\d*) ms \\| ParsingTime:[ ]*(\\d*) ms \\| IndexingTime: (\\d*) ms \\| StorageTime: (\\d*) ms");
private int urlSum=0;
private int urlReqSum=0;
@@ -114,7 +119,6 @@ public class LogParserPLASMA implements LogParser{
private int indexedParsingTime = 0;
private int indexedIndexingTime = 0;
private int indexedStorageTime = 0;
- private final String parserType = "PLASMA";
public int parse(String logLevel, String logLine) {
if (logLevel.equals("INFO")){
@@ -266,6 +270,58 @@ public class LogParserPLASMA implements LogParser{
return -1;
}
+ public Hashtable getResults() {
+ Hashtable results = new Hashtable();
+ results.put("version", Double.valueOf(parserVersion));
+ results.put("urlSum", Integer.valueOf(urlSum));
+ results.put("urlReqSum", Integer.valueOf(urlReqSum));
+ results.put("blockedURLSum", Integer.valueOf(blockedURLSum));
+ results.put("wordsSum", Integer.valueOf(wordsSum));
+ results.put("rwiSum", Integer.valueOf(rwiSum));
+ results.put("blockedRWISum", Integer.valueOf(blockedRWISum));
+ results.put("urlTimeSum", Long.valueOf(urlTimeSum));
+ results.put("rwiTimeSum", Long.valueOf(rwiTimeSum));
+ results.put("DHTSendTraffic", Long.valueOf(DHTSendTraffic));
+ results.put("DHTSendURLs", Integer.valueOf(DHTSendURLs));
+ results.put("RWIRejectCount", Integer.valueOf(RWIRejectCount));
+ results.put("RWIRejectPeerNames", RWIRejectPeerNames);
+ results.put("RWIRejectPeerHashs", RWIRejectPeerHashs);
+ results.put("DHTPeerNames", DHTPeerNames);
+ results.put("DHTPeerHashs", DHTPeerHashs);
+ results.put("DHTSelectionTargetCount", Integer.valueOf(DHTSelectionTargetCount));
+ results.put("DHTSelectionWordsCount", Integer.valueOf(DHTSelectionWordsCount));
+ results.put("DHTSelectionWordsTimeCount", Integer.valueOf(DHTSelectionWordsTimeCount));
+ results.put("minDHTDist", Double.valueOf(minDHTDist));
+ results.put("maxDHTDist", Double.valueOf(maxDHTDist));
+ results.put("avgDHTDist", Double.valueOf(avgDHTDist));
+ results.put("busyPeerCount", Integer.valueOf(busyPeerCount));
+ results.put("notEnoughDHTPeers", Integer.valueOf(notEnoughDHTPeers));
+ results.put("failedIndexDistributionCount", Integer.valueOf(failedIndexDistributionCount));
+ results.put("leftChildTwiceCount", Integer.valueOf(leftChildTwiceCount));
+ results.put("rightChildTwiceCount", Integer.valueOf(rightChildTwiceCount));
+ results.put("rankingDistributionCount", Integer.valueOf(rankingDistributionCount));
+ results.put("rankingDistributionTime", Integer.valueOf(rankingDistributionTime));
+ results.put("rankingDistributionFailCount", Integer.valueOf(rankingDistributionFailCount));
+ results.put("malformedURLCount", Integer.valueOf(malformedURLCount));
+ results.put("indexedSites", Integer.valueOf(indexedSites));
+ results.put("indexedWordSum", Integer.valueOf(indexedWordSum));
+ results.put("indexedSiteSizeSum", Integer.valueOf(indexedSiteSizeSum));
+ results.put("indexedAnchorsCount", Integer.valueOf(indexedAnchorsCount));
+ results.put("indexedStackingTime", Integer.valueOf(indexedStackingTime));
+ results.put("indexedParsingTime", Integer.valueOf(indexedParsingTime));
+ results.put("indexedIndexingTime", Integer.valueOf(indexedIndexingTime));
+ results.put("indexedStorageTime", Integer.valueOf(indexedStorageTime));
+ return null;
+ }
+
+ public String getParserType() {
+ return parserType;
+ }
+
+ public double getParserVersion() {
+ return parserVersion;
+ }
+
public void printResults() {
if(rankingDistributionCount == 0) rankingDistributionCount = 1;
if(DHTSelectionWordsTimeCount == 0) DHTSelectionWordsTimeCount = 1;
@@ -304,8 +360,4 @@ public class LogParserPLASMA implements LogParser{
System.out.println("ERRORS: " + malformedURLCount + " MalformedURLExceptions accord.");
}
- public String getParserType() {
- return parserType;
- }
-
}