我需要从服务器日志文件捕获json请求。 日志目录每天都有很多server.log文件。我需要根据关键字从日志文件中grep选择性json
接收到包含内容的请求是Server.log文件中的my关键字
如何根据所提到的关键字检索选定的json?对于下面提到的代码,只打印第一行。如何打印完整的JSON
代码
import glob, os,re
os.chdir("N:/HERE/jboss-eap-7.1.0/jboss-eap-7.1/standalone/log")
for file in glob.glob("server.log.2020-08-07"):
print(file)
pattern = "Received request with content"
file = open("server.log.2020-08-07", "r")
for line in file:
if re.search(pattern, line,re.M):
print(line)
电流输出
2020-08-07 20:45:16,696 DEBUG [org.kie.server.remote.rest.drools.CommandResource] (default task-38) Received request with content '{
预期产出
2020-08-07 20:45:16,696 DEBUG [org.kie.server.remote.rest.drools.CommandResource] (default task-33) Received request with content '{
"lookup": "stateless",
"commands": [{
"insert": {
"out-identifier": "PolicyOutput",
"return-object": false,
"entry-point": "DEFAULT",
"object": {
"com.Testing.sampleproject.PercentageCalculation": {
"total_Sales_Of_Latest_Year": 1000,
"total_Sales_Of_Previous_Year": 9000,
"pbdit": 0,
"turnover": 0,
"cash_Profit_Of_Latest_Year": 0,
"cash_Profit_Of_Previous_Year": 0,
"pat_Sales_Of_Latest_Year": 0
}
} } }]
}'
Server.log文件
2020-08-07 20:36:29,897 DEBUG [org.kie.server.remote.rest.drools.CommandResource] (default task-33) Received request with content '{
"lookup": "stateless",
"commands": [{
"insert": {
"out-identifier": "PolicyOutput",
"return-object": false,
"entry-point": "DEFAULT",
"object": {
"com.Testing.sampleproject.PercentageCalculation": {
"total_Sales_Of_Latest_Year": 1000,
"total_Sales_Of_Previous_Year": 9000,
"pbdit": 0,
"turnover": 0,
"cash_Profit_Of_Latest_Year": 0,
"cash_Profit_Of_Previous_Year": 0,
"pat_Sales_Of_Latest_Year": 0
}
} } }]
}'
2020-08-07 20:36:29,899 DEBUG [org.kie.server.services.impl.locator.LatestContainerLocator] (default task-33) Searching for latest container for alias SampleProject within available containers [KieContainerResource [containerId=SampleProject_1.0.1-SNAPSHOT, releaseId=com.Testing:SampleProject:1.0.1-SNAPSHOT, resolvedReleaseId=com.Testing:SampleProject:1.0.1-SNAPSHOT, status=STARTED], KieContainerResource [containerId=SampleProject_1.0.2-SNAPSHOT, releaseId=com.Testing:SampleProject:1.0.2-SNAPSHOT, resolvedReleaseId=com.Testing:SampleProject:1.0.2-SNAPSHOT, status=STARTED]]
2020-08-07 20:36:46,807 DEBUG [org.kie.server.controller.impl.KieServerInstanceManager] (Thread-139) Using client provider org.kie.server.controller.websocket.client.WebSocketKieServerClientProvider@56675f4a
2020-08-07 20:36:46,807 DEBUG [org.kie.server.controller.impl.KieServerInstanceManager] (Thread-139) Using client org.kie.server.controller.websocket.client.WebSocketKieServerClient@404d94c0
2020-08-07 21:36:29,897 DEBUG [org.kie.server.remote.rest.drools.CommandResource] (default task-33) Received request with content '{
"lookup": "stateless",
"commands": [{
"insert": {
"out-identifier": "PolicyOutput",
"return-object": false,
"entry-point": "DEFAULT",
"object": {
"com.Testing.sampleproject.PercentageCalculation": {
"total_Sales_Of_Latest_Year": 1000,
"total_Sales_Of_Previous_Year": 9000,
"pbdit": 0,
"turnover": 0,
"cash_Profit_Of_Latest_Year": 0,
"cash_Profit_Of_Previous_Year": 0,
"pat_Sales_Of_Latest_Year": 0
}
} } }]
}'
以下是一种获得完整json的方法,假设已知json的行数
相关问题 更多 >
编程相关推荐