问题描述
解决方案
通过配置是不可能得到你想要的 必须进行字符串截取
解决方案二:
其实就是那一句话如何断句并把有用的信息提取出来
解决方案三:
以“-”分割啊,得到的数组长度是3的倍数,0是前面的2003,1是中间的信息,2是结果的信息
解决方案四:
这个不用特意的去写;你可以通过配置log4j.xml文件,然后直接在要输出的日志地方分别用info、debug、error、warn输出日志就可以了。
解决方案五:
用String.substring(...) 方法处理
解决方案六:
不知道你的”infodba这些是会变的“是什么意思?如果你的log如你给的图一样,我觉得是不是就是遍历整个log文件,然后每行跟你的关键字进行匹配,比如关键字为“已删除”,如果该行包含整个关键字就提取出来,然后解析这一行的数据;
解析数据的前提是你的每一行数据的结构是不变的,比如开头都是2003,然后是空格-空格等等,只要这些结构不变,就可以用空格进行分割了,然后再找你想要的信息所在的下标就行。
解决方案七:
这个就是基本的数据读取和字符串匹配,读取使用BufferedReader,按行读取,比较使用字符串的contains方法,比如
File srcFile = new File("你的日志文件路径");
InputStreamReader isr = new InputStreamReader(new FileInputStream(
srcFile));
BufferedReader br = new BufferedReader(isr);
String line = br.readLine();
List<String> resultList = new ArrayList<String>();
while (line != null) {
if (line.contains("已删除")) {
resultList.add(line); //将找到的一行放到List中
}
}
//最后遍历resultList就是你要的“已删除”的行。
时间: 2024-10-06 08:11:05