我想解析一个代表日志的文本文件。我希望它足够强大,可以处理所有可能发生的错误。虽然我对最佳实践和我应该解释的错误一无所知。我将使用 JAVA 来实现这一点。
示例日志:2012-07-16 10:23:40,558 - 127.0.0.1 - 参数数组 [param1=1,param2=1,param3=0,] - 383
我已经写了一个 prasing 代码,其工作原理如下:
public Parser(String log) {
this.log = log;
this.parse();
}
public void parse() {
String[] temp = new String[10];
String[] temp2 = new String[10];
temp = log.split(" - ");
key = temp[3];
id = Integer.parseInt(key);
String IP = temp[1];
String str;
String temp3 = temp[2].substring(temp[2].indexOf("g"), temp[2].indexOf("]"));
temp = temp3.split(",");
str = "param1";
boolean ordered = CheckOrder(temp);
if (ordered) {
for (int q = 0; q < temp.length; q++) {
temp[q] = temp[q].substring(temp[q].indexOf("=") + 1);
}
if (temp[0].equals("q")) {
param= 0;
} else if (temp[0].equals("k")) {
param= 1;
} else {
param= 2;
}
// Same way for all parameters
}
}