Hallo Allerseits,
ich versuche gerade via Regex Log-Files von einem Webserver zu filter. Meine Methode filter sollte eigentlich funktionieren. Doch wenn ich sie auf mein Log-File loslasse fliegt mir sofort eine Exception entgegen.
So sehen die ersten paar Zeilen des Logiles aus:
Das wären die ersten 13 Zeilen des Log-Files. Ich versuche gerade die DEBUG Lines zu filtern, indem ich meine Methode filter()
in der readFile Methode ausführe.
Was mache ich falsch? ???:L
MfG Burny91
ich versuche gerade via Regex Log-Files von einem Webserver zu filter. Meine Methode filter sollte eigentlich funktionieren. Doch wenn ich sie auf mein Log-File loslasse fliegt mir sofort eine Exception entgegen.
Java:
Exception in thread "main" java.lang.IllegalStateException: No match found
at java.util.regex.Matcher.group(Unknown Source)
at java.util.regex.Matcher.group(Unknown Source)
at Analyser.filter(Analyser.java:39)
at Analyser.readFile(Analyser.java:26)
at Analyser.main(Analyser.java:46)
[01/31/05 11:26:11,__init__,INFO] ----------------------------------------
So sehen die ersten paar Zeilen des Logiles aus:
Code:
[01/31/05 11:26:11,__init__,INFO] ----------------------------------------
[01/31/05 11:26:11,__init__,INFO] Server is starting! myserver
[01/31/05 11:26:11,__init__,INFO] sendfile(2) is NOT available, compatible but slower file serving is used
[01/31/05 11:26:11,__init__,INFO] Creating server on ""
[01/31/05 11:26:11,__init__,INFO] Loading plugins...
[01/31/05 11:26:11,__init__,INFO] Loading plugin module: cache
[01/31/05 11:26:11,__init__,INFO] Loading plugin: PageCacher
[01/31/05 11:26:11,__init__,INFO] Loading plugin: PageCacher_post
[01/31/05 11:26:11,__init__,INFO] Loading plugin module: compress
[01/31/05 11:26:12,__init__,INFO] Loading plugin: ResponseCompressor
[01/31/05 11:26:12,__init__,INFO] Loading plugin module: scheduler
[01/31/05 11:26:12,__init__,INFO] Loading plugin: SchedulerPlugin
[01/31/05 11:26:12,__init__,DEBUG] Scheduler plugin init
Das wären die ersten 13 Zeilen des Log-Files. Ich versuche gerade die DEBUG Lines zu filtern, indem ich meine Methode filter()
Java:
public String filter(String logline, String regex){
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(logline);
String result = null;
matcher.find();
result = matcher.group();
return result;
}
in der readFile Methode ausführe.
Java:
public void readFile(String file) throws IOException{
br = new BufferedReader(new FileReader(file));
while((line = br.readLine()) != null){
System.out.println(line);
System.out.println(filter(line, "DEBUG"));
}
};
Was mache ich falsch? ???:L
MfG Burny91