0
我们有一个syslog-ng的服务器获取包含JSON在日志中MongoDB的日志,样本数低于:JSON调试运行:JSON到CSV解析
2016-10-17 19:54:12 f:local1.p:info h:10.133.126.79 prog:sharmongo-log m:sharmongo-log 2016-10-17T19:54:04.943+0330 I COMMAND [conn5573] command CLM.BillingAccount command: count { count: "BillingAccount", query: { $or: [ { billingAccount.customerCode: "C8088810719" } ] } } planSummary: COUNT_SCAN { billingAccount.customerCode: 1.0 } keyUpdates:0 writeConflicts:0 numYields:0 reslen:122 locks:{ Global: { acquireCount: { r: 2 } }, Database: { acquireCount: { r: 1 } }, Collection: { acquireCount: { r: 1 } } } protocol:op_query 216ms
我们需要插入进来的日志到数据库,首先我需要将日志解析为CSV,我想编写一个python脚本来将日志记录更改为CSV。因为您可以看到日志的一部分是JSON(如MongoDB文档ant中所述,此girthub链接为JSON格式)。日志的JSON一部分是这样的:
command: count {
count: "BillingAccount",
query: {
$or: [{
billingAccount.customerCode: "C8088810719"
}]
}
}
planSummary: COUNT_SCAN {
billingAccount.customerCode: 1.0
}
keyUpdates: 0 writeConflicts: 0 numYields: 0 reslen: 122 locks: {
Global: {
acquireCount: {
r: 2
}
},
Database: {
acquireCount: {
r: 1
}
},
Collection: {
acquireCount: {
r: 1
}
}
}
protocol: op_query 216 ms
,但我看到了很多在它的错误,当我想用一个蟒蛇json
库来解析它,我得到一个错误。我需要将它改为一种我不会再犯错的形式,首先我引用了每一个关键字,因为它们不是。但我又得到了以下错误:
除了这些错误一个主要问题是,我得到了一个以上的JSON在日志中,这引起了我更多的错误,我需要知道,如果有一个python库来帮助我解析这个JSON。你有什么建议来解决这个问题?
您需要将所有内容都包含在'{''}'中,以便它成为一个json对象。 –