java提取日志每秒_使用Java从日志中提取某些模式

本文探讨了一种从日志文件中提取特定命令输出的方法,并分析了现有代码存在的效率问题。作者希望找到一种更快的数据提取方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我想从日志文件中提取一段信息。我正在使用的模式是节点名称和命令的提示。我想提取命令输出的信息并进行比较。考虑下面的示例输出

NodeName > command1

this is the sample output

NodeName > command2

this is the sample output我已经尝试了下面的代码。

public static void searchcommand( String strLineString)

{

String searchFor = "Nodename> command1";

String endStr = "Nodename";

String op="";

int end=0;

int len = searchFor.length();

int result = 0;

if (len > 0) {

int start = strLineString.indexOf(searchFor);

while(start!=-1){

end = strLineString.indexOf(endStr,start+len);

if(end!=-1){

op=strLineString.substring(start, end);

}else{

op=strLineString.substring(start, strLineString.length());

}

String[] arr = op.split("%%%%%%%");

for (String z : arr) {

System.out.println(z);

}

start = strLineString.indexOf(searchFor,start+len);

}

}

}问题是代码太慢而无法提取数据。有没有其他方法可以这样做?

编辑1

它是我在上面的代码中读到的一个字符串的日志文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值