如何使用Java从日志文件中提取sql查询行?

问题描述 投票:-3回答:1

我已将日志文件数据存储在字符串中。

日志文件数据:

testOut_Log: START RequestId: 13b73ed9-b101-11e8-8619-91946b18fd8a Version: $LATEST
2018-09-05 11:44:41 <13b73ed9-b101-11e8-8619-91946b18fd8a> INFO  UpcDaoImpl:QUERY : SELECT apn, epc, rpc_fmt_cd FROM tbl_data WHERE apn= '43781661' OR apn= '63535011' OR apn= '19870' OR apn = '1023313'
2018-09-05 11:44:42 <13b73ed9-b101-11e8-8619-91946b18fd8a> INFO  addpcDaoImpl:RPT 

仅需要查询:

SELECT apn, epc, rpc_fmt_cd FROM tbl_data WHERE apn= '43781661' OR apn= '63535011' OR apn= '19870' OR apn = '1023313'

代码我尝试过:

String myQuery = testOutput_Log.substring(testOutput_Log.indexOf(“QUERY:”));的System.out.println(更改为MyQuery);

输出:myQuery:

QUERY:SELECT apn,epc,rpc_fmt_cd FROM tbl_data WHERE apn ='43781661'n apn ='63535011'ON apn ='19870'或apn ='1023313'2018-09-05 14:43:51 <1b214074-b11a-11e8 -af80-d5e640140a71> INFO aaaapcDaoImpl:RPT

java mysql logging
1个回答
0
投票

下面的代码对我有用:

String myQuery = testOutput_Log.substring(testOutput_Log.indexOf(“QUERY:”)); System.out.println(“myQuery:\ n”+ myQuery); String myQuery2 = myQuery.substring(myQuery.indexOf(“SELECT”),myQuery.indexOf(“\ n”)); System.out.println(“myQuery2:\ n”+ myQuery2);

© www.soinside.com 2019 - 2024. All rights reserved.